正确解析 Json 输出
Parsing Json Output correctly
我正在尝试正确定位 Json 输出中的元素,我越来越接近了,但我认为我缺少一种简单而明显的方法。
我的 Json 看起来像这样,有一个上层事件。
JSON 片段已更新
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"]
但我认为我可能不够深入?
如您所料,[theCourse valueForKey:@"Key"]
为我提供了键值,但我需要这些键的关联值。
您可以创建一个更简单的词典:
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"]);
我正在尝试正确定位 Json 输出中的元素,我越来越接近了,但我认为我缺少一种简单而明显的方法。
我的 Json 看起来像这样,有一个上层事件。
JSON 片段已更新
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"]
但我认为我可能不够深入?
如您所料,[theCourse valueForKey:@"Key"]
为我提供了键值,但我需要这些键的关联值。
您可以创建一个更简单的词典:
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"]);