Хранить данные JSON в Java

1

Я хочу изучить JSON-хранилище данных на Java, используя Eclipse, поэтому я много искал.

Я нашел JSON.simple и GSON. Это хороший выбор?

Я перешел в Properties >> Java Build Path >> Add External JARs. Я добавил json-simple-1.1.1.jar и google-gson-2.2.4-release.zip. Это правильно? Где находится JavaDoc?

Основная проблема касается примера, приведенного здесь: пример JSON.simple - чтение и запись JSON, в котором рассказывается о JSON.simple. Я написал следующий код:

JSONObject object = new JSONObject();
JSONArray array = new JSONArray();
array.add("Joiner");
array.add("System");
object.put("nicknames", array);
object.put("from", "Italy");
object.put("age", 15);
try {
    String path = "";
    FileWriter file = new FileWriter(path);
    String json = object.toJSONString();
    file.write(json);
    file.close();
} catch (IOException io) {
    // Fail
}

Но я получаю следующие предупреждения. Что это значит?

Тип безопасности: метод add (Object) относится к необработанному типу ArrayList. Ссылки на общий тип ArrayList следует параметризовать в 'JSONArray.add'

Тип безопасности: метод put (Object, Object) относится к необработанному типу HashMap. Ссылки на общий тип HashMap следует параметризовать в 'JSONObject.put'

На стороне примечания, как я могу прикрыть мой JSON?

  • 0
    Если вы имеете в виду «Что лучше?», Что вы хотите быстрее всего, вы можете взглянуть на Boon: rick-hightower.blogspot.be/2014/01/…
  • 0
    @WimDeblauwe Пожалуйста, дайте мне несколько примеров.
Показать ещё 3 комментария
Теги:
gson
json-simple

1 ответ

0
Лучший ответ

Я нашел JSON.simple и GSON. Это хороший выбор?

На данный момент мне очень нравится первое, но последнее имеет больше возможностей, более широко используется и всегда актуально.

Где находится JavaDoc?

Для JSON.simple см. Этот ответ на сайте. Для GSON следуйте по этой ссылке.

Я получаю некоторые предупреждения. Что они имеют в виду?

Эти классы объявляются без параметров типа для их суперкласса:

public class JSONObject extends HashMap {
    // ...
}

public class JSONArray extends ArrayList {
    // ...
}

Когда вы вызываете put() или add(), они определяются в суперклассе, который не параметризируется должным образом.

Что вы можете сделать, это добавить в @SuppressWarnings("unchecked").

Как я могу прикрыть свой JSON?

JSON.simple не может этого сделать, но GSON может:

Gson gson = new GsonBuilder().setPrettyPrinting().create();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню