Преобразовать строку JSON для возражения в Java ME?

Попробуйте GPU ++ и , ссылка libSh

LibSh имеет хорошее описание того, как они связали язык программирования с графическими примитивами (и очевидно, сами примитивы), и GPU ++ описывает что все о, оба с примерами кода.

116
задан Karl Richter 27 March 2016 в 05:52
поделиться

5 ответов

Я использовал несколько из них, и мой любимый -

http://code.google.com/p/json-simple/

Библиотека очень маленький, поэтому идеально подходит для J2ME.

Вы можете преобразовать JSON в объект Java в одну строку, например,

JSONObject json = (JSONObject)new JSONParser().parse("{\"name\":\"MyNode\", \"width\":200, \"height\":100}");
System.out.println("name=" + json.get("name"));
System.out.println("width=" + json.get("width"));
108
ответ дан 24 November 2019 в 02:12
поделиться

Помимо www.json.org , вы также можете реализовать свой собственный синтаксический анализатор, используя javacc и соответствующий вашей личной грамматике / схеме. См. Эту заметку в моем блоге: http://plindenbaum.blogspot.com/2008/07/parsing-json-with-javacc-my-notebook.html

2
ответ дан 24 November 2019 в 02:12
поделиться

У вас много JSON парсеры для Java :

  • JSONObject.java
    JSONObject - это неупорядоченный набор пар имя / значение. Его внешняя форма представляет собой строку, заключенную в фигурные скобки с двоеточиями между именами и значениями и запятыми между значениями и именами. Внутренняя форма - это объект, имеющий методы get () и opt () для доступа к значениям по имени и методы put () для добавления или замены значений по имени. Значения могут быть любого из следующих типов: Boolean, JSONArray, JSONObject, Number и String или объект JSONObject.NULL.

  • JSONArray.java
    JSONArray - это упорядоченная последовательность значений. Его внешняя форма представляет собой строку, заключенную в квадратные скобки с запятыми между значениями. Внутренняя форма - это объект, имеющий методы get () и opt () для доступа к значениям по индексу и методы put () для добавления или замены значений. Значения могут быть любого из следующих типов: Boolean, JSONArray, JSONObject, Number и String или объект JSONObject.NULL.

  • JSONStringer.java
    JSONStringer - это инструмент для быстрого создания текста JSON.

  • JSONWriter.java
    JSONWriter - это инструмент для быстрой записи текста JSON в потоки.

  • JSONTokener.java
    JSONTokener берет исходную строку и извлекает из нее символы и токены. Он используется конструкторами JSONObject и JSONArray для анализа исходных строк JSON.

  • JSONException.java
    Исключение JSONException возникает при обнаружении синтаксической или процедурной ошибки.

  • JSONString. java
    JSONString - это интерфейс, который позволяет классам реализовать свою сериализацию JSON.

22
ответ дан 24 November 2019 в 02:12
поделиться

Я написал библиотеку, которая использует json.org для анализа JSON, но на самом деле она создает для вас прокси-сервер интерфейса. Код / JAR находится на code.google.com.

http://fixjures.googlecode.com/

Я не знаю, работает ли он на J2ME. Поскольку он использует Java Reflection для создания прокси, я думаю, что это не сработает. Кроме того, в настоящее время он сильно зависит от коллекций Google, которые я хочу удалить, и, вероятно, он слишком тяжел для ваших нужд, но позволяет вам взаимодействовать с вашими данными JSON так, как вы ищете:

interface Foo {
    String getName();
    int getWidth();
    int getHeight();
}

Foo myFoo = Fixjure.of(Foo.class).from(JSONSource.newJsonString("{ name : \"foo name\" }")).create();
String name = myFoo.getName(); // name now .equals("foo name");
2
ответ дан 24 November 2019 в 02:12
поделиться

GSON - хороший вариант для преобразования объекта java в объект json и наоборот.
Это инструмент, предоставляемый Google.

для преобразования json в использование объекта java: fromJson (jsonObject, javaclassname.class)
для преобразования объекта java в объект json использование: toJson (javaObject)
, а остальное будет выполнено автоматически

Для получения дополнительной информации и для загрузки

61
ответ дан 24 November 2019 в 02:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: