正确解析Json输出

时间:2015-05-06 15:51:34

标签: ios objective-c json nsdictionary

我正在尝试正确定位Json输出中的元素并且我越来越接近但我认为有一种简单而明显的方法我不知道。

我的Json看起来像是一个上层事件。

JSON SNIPPET UPDATED

set_pin

我使用

定位此级别
chat =     (
            (
                    {
            Key = senderId;
            Value =                 {
                Type = 0;
                Value = "eu-west-1:91afbc3f-890a-4160-8903-688bf0e9efe8";
            };
        },
                    {
            Key = chatId;
            Value =                 {
                Type = 0;
                Value = "eu-west-1:be6457ce-bac1-412d-9307-e375e52e22ff";
            };
        },
                    {
            Key = timestamp;
            Value =                 {
                Type = 1;
                Value = 1430431197;
            };
        },

//Continued

我需要解析每个键的值数据,如果我使用数组就像NSArray *chat = array[@"chat"]; for ( NSDictionary *theCourse in chat ) { NSLog(@"---- %@", theCourse); // I tried the following to target the values //NSLog(@"chatId: %@", [theCourse valueForKey:@"Key"]); //NSLog(@"timestamp: %@", theCourse[@"senderId"] ); } } 那样,但我想我可能不够深入?

正如您所料,[theCourse valueForKey:@"Key"]为我提供了Key值,但我需要这些键的关联值。

1 个答案:

答案 0 :(得分:1)

您可以创建更简单的词典:

NSArray *chat = array[@"chat"][0];
NSMutableDictionary* newDict = [NSMutableDictionary dictionary];
for (NSDictionary* d in chat)
    [newDict setValue:d[@"Value"][@"Value"] forKey:d[@"Key"]];

现在您可以使用newDict

NSLog(@"chatId: %@", [newDict valueForKey:@"chatId"]);