解析iOS后,JSON值变得混乱

时间:2014-05-29 10:40:53

标签: ios json nsdictionary nsjsonserialization

我收到了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
)

一切都混乱了。我想要它从服务器上获取它的方式。
我怎样才能实现它?

2 个答案:

答案 0 :(得分:0)

NSDictionary无法做到这一点。这些条目没有订购。

要保持顺序,你应该使用一个条目列表,改变json的结构

答案 1 :(得分:0)

我从堆栈溢出中提出的其他问题得到了答案。

jsonsDictsKeys = [[jsons allKeys] sortedArrayUsingSelector: @selector(caseInsensitiveCompare:)];
jsonsDictsValues = [jsons objectsForKeys: jsonsDictsKeys notFoundMarker: [NSNull null]];

其中jsonsDictsKeys和jsonsDictsValues是NSArray。