iOS正在创建一个没有{}的JSON字符串 - 只有[]?

时间:2014-08-08 17:39:41

标签: ios json

为什么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"];
            }
        }

2 个答案:

答案 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“对象”用大括号括起来。