1

我正在尝试解析没有键的 JSON。它看起来像这样:

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

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

4

1 回答 1

2

因此,当您解析它时,您将拥有一个NSDictionarywith ,其中前两个键的值是 an 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);
}];
于 2013-10-16T18:47:30.950 回答