JSON в многомерный массив в Android / Java - PullRequest
1 голос
/ 08 февраля 2011

Я собираюсь создать для себя библиотеку, которая будет выполнять общие функции, связанные с Интернетом. Пока у меня есть функции http GET и POST, и сейчас я ищу разработку универсальной функции синтаксического анализа JSON, которая преобразует полученный в виде строки JSON в многомерный ассоциативный массив, в котором можно искать .

Я просмотрел stackoverflow и нашел эту ссылку , которая выглядит очень полезной, за исключением того, что код разработан так, чтобы быть очень конкретным. Есть ли в org.json хорошая удобная функция, которая позволяет вам превращать вашу строку JSON в многомерный ассоциативный массив, который я могу возвращать и манипулировать вне класса?

Спасибо, Джон.

Ps. Я должен упомянуть, что у меня очень мало предыдущего опыта работы с Java - я разработчик PHP в глубине души.

1 Ответ

2 голосов
/ 08 февраля 2011

Не думаю, что нужно писать собственную библиотеку JSON. Android поставляется с множеством возможностей, которые вы можете использовать, или вы можете использовать GSON, с которым у меня был большой успех: http://code.google.com/p/google-gson/

Посмотрите, как это просто:

// Serialise
String[] array = {"One","Two","Three"};
String json = new Gson().toJson(array);

// De-serialise
String[] array = new Gson().fromJson(json,String[].class);

GSON прекрасно работает с целым рядом классов, включая ваши собственные объекты классов, массивы и некоторые коллекции.

Одно предостережение: библиотека GSON не поддерживает формат даты, используемый API-интерфейсами на веб-серверах Microsoft, но в этих сценариях я просто перетаскиваю данные в строковую переменную, а затем процесс находится внутри класса до даты используя мой собственный анализ.

...