【发布时间】:2014-05-29 10:40:53
【问题描述】:
我收到一个 JSON 响应,并在 iOS Xcode 5.1 中使用 NSJSONSerialization 对其进行序列化。我得到的 o/p 是:
(lldb) po jsons
{
Res1 = ({
ADDRESS = " 131 SleakField Road ";
ALP = " ";
"BIRTH_DATE" = "05/09/2002";
});
Res2 = ({
Performance = "";
Score = "";
}, {
Performance = Proficient;
Score = 221;
}, {
Performance = "";
Score = "";
}, {
Performance = Proficient;
Score = 237;
});
Res3 = ();
Res4 = ();
}
jsons 是NSDictionary。
但是当我使用下面的代码从上面的键值对中分离键时:
jsonKeys = [[NSArray alloc] init];
jsonKeys = [jsons allKeys];
我得到的 o/p 是:
(lldb) po jsonKeys
<__NSArrayI 0xb62dff0>(
Res2,
Res5,
Res3,
Res1,
Res6,
Res4
)
一切都乱了套。我想要从服务器获取它的方式。
我怎样才能实现它?
【问题讨论】:
-
根据定义,JSON“对象”(NSDictionary)中的条目是无序的。你想要的太多了。
-
您不需要
jsonKeys = [[NSArray alloc] init]。该行正在创建一个对象,该对象将被丢弃而不会被使用。 -
Removing jsonKeys = [[NSArray alloc] init] dint 会给输出带来任何改变。
-
@LeoJoseph:当然不是。它创建了一个立即被丢弃的数组。是否创建一个立即被丢弃的数组都没有区别,除非通知其他程序员预期的代码质量。
标签: ios json nsdictionary nsjsonserialization