为什么jsonString的赋值不包括大括号{}?
这是我得到的:
[" anemail@chdr.com"]
CODE
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"];
}
}
答案 0 :(得分:2)
_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]);
}
}
答案 1 :(得分:1)
因为JSON数组不是括号,而上面的内容是JSON数组。 JSON“对象”用大括号括起来。