java / jsonsimple - используйте ключ для получения значения из jsonarray - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть следующий пример формы вывода json java / jsonsimple.

JSONArray:

[{"dd1":{"actionType":"Dept","collegeID":""}},{"dd2":{"actionType":"Dept","collegeID":""}}] 

Я пытаюсь выяснить, как получить значение для ключа "dd1", используя "dd1" вместо ndx.

По сути, я хочу иметь возможность проверить заданный «ключ», чтобы увидеть, находится ли он в массиве, со значением.

Документы для JSONArray, допускают foo.get (1), но не foo.get ("dd1")

спасибо

пс.

Я пытался использовать вставленный выше элемент в JSONObject, а затем сделал foo.get ("dd1"), но я не получил значение.

Проблема, похоже, сводится к выяснению, как получить dict, который находится в массиве [].

doing something like foo.get(1).get("dd1") doesn't work...

спасибо

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

У вас есть массив, заключающий ваш словарь во входные данные JSON, поэтому вам сначала нужно получить словарь, например:

foo.get(1).get("dd1");

Но вы можете изменить свой JSON на простой словарь,как это:

{
   "dd1": {"actionType":"Dept","collegeID":""},
   "dd2": {"actionType":"Dept","collegeID":""}
}

И тогда вы сможете сделать:

foo.get("dd1");
0 голосов
/ 05 декабря 2011

Вы смешиваете массив json и объект json. С помощью foo.get(1) вы получите объект JSON, содержащий поле "dd1" - тогда вы можете использовать get("dd1")

...