在Xcode中没有键解析JSON

时间:2013-10-16 18:40:02

标签: json cocoa-touch parsing

我试图在没有密钥的情况下解析JSON。 它看起来像这样:

{
    "somestring": [
        "otherstring1",
        float],
    "somestring2": [
        "somestring3",
        float],
    "full":integer
}

我如何解析每个对象的第一个值?

1 个答案:

答案 0 :(得分:2)

因此,当你解析它时,你会得到一个NSDictionary,前两个键的值为NSArray

NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if (error)
    NSLog(@"JSONObjectWithData error: %@", error);

NSArray *array = dictionary[@"22398f2"];
NSString *firstArrayItem = array[0];   // @"CBW32"
NSString *secondArrayItem = array[1];  // @50.1083

或者,如果您想要所有第一项,您可以执行以下操作:

NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if (error)
    NSLog(@"JSONObjectWithData error: %@", error);

[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    NSArray *array = obj;
    if ([obj isKindOfClass:[NSArray class]])
        NSLog(@"first item = %@", array[0]);
    else
        NSLog(@"The value associated with key '%@' is not array", key);
}];