我收到了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
)
一切都混乱了。我想要它从服务器上获取它的方式。
我怎样才能实现它?
答案 0 :(得分:0)
NSDictionary无法做到这一点。这些条目没有订购。
要保持顺序,你应该使用一个条目列表,改变json的结构
答案 1 :(得分:0)
我从堆栈溢出中提出的其他问题得到了答案。
jsonsDictsKeys = [[jsons allKeys] sortedArrayUsingSelector: @selector(caseInsensitiveCompare:)];
jsonsDictsValues = [jsons objectsForKeys: jsonsDictsKeys notFoundMarker: [NSNull null]];
其中jsonsDictsKeys和jsonsDictsValues是NSArray。