Проблема синтаксического анализа JSON - PullRequest
1 голос
/ 02 мая 2011

Эй, я пытаюсь проанализировать следующие данные JSON:

{"chat":
{"link":
[{"@rel":"next","@ref":"http"}],
"events":
{"link2":
[{"@rel":"next","@ref":"http"}]}
}}

Код, который считывает данные (где 'a' - это JSON как строка):

  JSONObject jsonObject1 = new JSONObject(a);
  JSONObject jsonObject = jsonObject1.getJSONObject("chat");

Итак, структура (по крайней мере, так, как я задумал):

<chat>
    <link>
    <events>
        <link2>
    </events>
</chat<

Но после getJsonObject ("chat") jsonObject равен:

{"chat":{"events":{"link2":[{"@ref":"http","@rel":"next"}]},"link":[{"@ref":"http","@rel":"next"}]}}

Чего мне не хватает?Почему данные переворачиваются и структура меняется?

1 Ответ

3 голосов
/ 02 мая 2011

Свойства в объекте JSON не отсортированы.С сайта JSON :

Объект представляет собой неупорядоченный набор пар имя / значение ...

(мой акцент) Поэтому позиции link и event не имеют значения для синтаксического анализатора.Итог, link и event находятся на одном уровне, поэтому они могут быть смещены, и везде, где имеет значение порядок, используют массивы в JSON ... [].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...