Автор оригинала: Pankaj Kumar.
json-simple-это простой набор инструментов java для JSON. библиотека json-simple полностью соответствует спецификации JSON (RFC4627).
json-просто
json-простое использование карты и списка внутри для обработки JSON. Мы можем использовать json-simple для анализа данных JSON, а также записи JSON в файл. Одной из лучших особенностей json-simple является то, что он не зависит ни от каких сторонних библиотек. json-simple-это очень легкий API, который хорошо работает с простыми требованиями к JSON.
json-простой maven
Мы можем добавить библиотеку json-simple в наш проект, загрузив ее с здесь . Поскольку json-simple доступен в центральном репозитории maven, лучший способ-добавить его зависимость в pom.xml файл.
com.googlecode.json-simple json-simple 1.1.1
json-простой пример записи JSON в файл
Наиболее важным классом в json-simple API является org.json.simple.JSONObject . Мы создаем экземпляр JSONObject и помещаем в него пары ключ-значение. Метод JSONObject toJSONString возвращает JSON в строковом формате, который мы можем записать в файл.
Для записи списка в ключ JSON мы можем использовать org.json.simple.JSONArray .
package com.journaldev.json.write;
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class JsonSimpleWriter {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name", "Pankaj Kumar");
obj.put("age", new Integer(32));
JSONArray cities = new JSONArray();
cities.add("New York");
cities.add("Bangalore");
cities.add("San Francisco");
obj.put("cities", cities);
try {
FileWriter file = new FileWriter("data.json");
file.write(obj.toJSONString());
file.flush();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print(obj.toJSONString());
}
}
Выше класс запишет data.json , ниже приведено содержимое JSON этого файла.
{"cities":["New York","Bangalore","San Francisco"],"name":"Pankaj Kumar","age":32}
Обратите внимание на @SuppressWarnings("снято") |/аннотацию на основной метод? Это было сделано, чтобы избежать предупреждений, связанных с безопасностью типов. JSONObject расширяет хэш-карту, но не поддерживает универсальные, поэтому Eclipse IDE выдает предупреждение, как показано ниже.
json-простой пример для чтения JSON из файла
Для чтения JSON из файла мы должны использовать org.json.simple.parser.JsonParser класс. Метод JsonParser parse возвращает объект JSONObject. Затем мы можем извлекать значения, передавая имена ключей. Ниже приведен json-простой пример чтения JSON из файла.
package com.journaldev.json.write;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class JsonSimpleReader {
public static void main(String[] args) throws ParseException, FileNotFoundException, IOException {
JSONParser parser = new JSONParser();
Reader reader = new FileReader("data.json");
Object jsonObj = parser.parse(reader);
JSONObject jsonObject = (JSONObject) jsonObj;
String name = (String) jsonObject.get("name");
System.out.println("Name = " + name);
long age = (Long) jsonObject.get("age");
System.out.println("Age = " + age);
JSONArray cities = (JSONArray) jsonObject.get("cities");
@SuppressWarnings("unchecked")
Iterator it = cities.iterator();
while (it.hasNext()) {
System.out.println("City = " + it.next());
}
reader.close();
}
}
Приведенный выше json-простой пример выдает следующий вывод.
Name = Pankaj Kumar Age = 32 City = New York City = Bangalore City = San Francisco
Это все для быстрого обзора json-просто. Однако, если вы хотите работать со сложными данными JSON, вам следует использовать Jackson или Gson . Вы также можете попробовать JSR353, который был добавлен в Java 7.