为什么赋值给 jsonString 不包括大括号{}?
这是我得到的:
["anemail@chdr.com"]
代码
if (_allEmails)
{
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:_allEmails options:0 error:&error];
if (!error)
{
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
[dictionary setObject:jsonString forKey:@"AllEmails"];
}
}
最佳答案
_allEmails
变量必须是一个数组(你告诉我),对于大括号,你需要将数据存储在字典中。
也许您正在寻找的是:
if ([_allEmails count] > 0)
{
NSError *error = nil;
NSDictionary *dict = @{ @"AllEmails" : _allEmails };
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
options:0
error:&error];
// Note: Check returned object and not NSError object
if (jsonData) {
NSString *jsonString = [[NSString alloc] initWithData:jsonData
encoding:NSUTF8StringEncoding];
// Do thing with string
} else {
NSLog(@"Failed to serialize JSON: %@", [error localizedDescription]);
}
}
关于iOS 正在创建一个没有 {} 的 JSON 字符串——只有 [ ]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25209199/