我如何序列化一个空的 jsonapi 对象

How do i serialize an empty jsonapi object

我有一个 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)

要将 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]