{
"success":true,
"listings":
{
"50831582253b4acf09000000":
{
"id":"50831582253b4acf09000000",
"title":"fddfds",
"assets":[],
"discussions":[]
}
},
"displaymessage":"1 Listings Found"
}
我仍然在字典和数组之间挣扎。什么会使上面的数组?
由于
答案 0 :(得分:4)
字典和数组之间存在很大差异。字典存储与您在实例化时指定的键相关的数据条目。例如:
NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2", nil];
这个alloc / inits字典并为“key1”设置“object1”,为“key2”设置“object2”,那么如果你想要求“key1”的值,你可以使用以下内容访问它。 / p>
NSLog(@"%@",[myDictionary objectForKey:@"key1"]);
字典中的对象可以是数组,字典,布尔值,数据,日期,数字和字符串。
另一方面,数组通过数组中的数据索引存储数据:
NSArray *myArray = [[NSArray alloc] initWithObjects:@"object1",@"object2",@"object3", nil];
然后,您可以通过询问objectAtIndex:
来访问阵列中的特定数据位,例如:
NSLog(@"%@",[myArray objectAtIndex:1]);
返回“object2”,因为数组中的第一个索引始终为“0”。
答案 1 :(得分:2)
查看JSON文档
JSON数组用方括号
表示[ "object1", "object2" ]
JSON数组通常由NSArray
在Objective-C中表示。这与新的文字语法
@[ @"object1", @"object2" ]
JSON对象用大括号
表示{ "key" : "value" }
JSON对象通常由NSDictionary
在Objective-C中表示。这也符合新的文字语法
@{ @"key" : @"value" }
答案 2 :(得分:0)
正如您可能知道的那样,列表中的实体或“单元格”用逗号分隔(,)
在序列化字典中,实体通过冒号(:)
分为键:值对"success":true
冒号前的引号中的第一部分是键,第二部分是与该键对应的值。
序列化数组可能如下所示:
{"hello", "goodbye", "world", "words", "friendship"}
请注意,实体仍然以逗号分隔,但引号之外没有冒号。
另一个关键区别是,在词典中,键必须是唯一的,所以你不应该有这样的东西:
{"success":true, ..., "success":false}
而在数组中,元素不必是唯一的:
{"hello", "hello", "goodbye"}
希望这有助于=)