我有一个jsonapi对象,我需要序列化为一个字符串。
{\n \"data\" : [\n\n ]\n}
但这会导致错误
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** +[NSJSONSerialization dataWithJSONObject:options:error:]:
Invalid top-level type in JSON write'
这是我用来将json对象转换为字符串的代码:
NSError * error;
NSData * jData = [NSJSONSerialization dataWithJSONObject:[notification.userInfo objectForKey:@"data"]
options:NSJSONWritingPrettyPrinted error:&error];
NSString *jString = [[NSString alloc] initWithData:jData encoding:NSUTF8StringEncoding];
希望有人可以帮我解决这个问题。( 不涉及手动删除\和\ n )
答案 0 :(得分:1)
要将json对象转换为字符串,首先应将其转换为NSData
,然后使用NSUTF8StringEncoding
的编码将其转换为NSString
。
NSDictionary *jsonDict = {\n \"data\" : [\n\n ]\n}
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]