这篇文章主要讲的是如何使用Gson操作JSON数据。
Gson是一个Java库,可用于将Java对象转换为JSON表示形式。 它也可以用于将JSON字符串转换为Java对象。
1、使用Gson读取json数据
json文件:test.josn
{
"cat":"it",
"languages":[
{"id":1,"name":"java"},
{"id":2,"name":"C++"}
]
}
Java代码:
JsonParser parser = new JsonParser();
JsonObject object;
try {
object = (JsonObject) parser.parse(new FileReader("test.json"));
System.out.println("cat=" + object.get("cat").getAsString());
JsonArray array = object.get("languages").getAsJsonArray();
for (int i = 0; i < array.size(); i++) {
System.out.println("------------");
JsonObject subObject = array.get(i).getAsJsonObject();
System.out.println("id=" + subObject.get("id").getAsInt());
System.out.println("name=" + subObject.get("name").getAsString());
}
} catch (JsonIOException e) {
e.printStackTrace();
} catch (JsonSyntaxException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
2、使用Gson创建json数据
java代码:
JsonObject object = new JsonObject();
object.addProperty("cat", "it");
JsonArray array = new JsonArray();
JsonObject itemObject = new JsonObject();
itemObject.addProperty("id", 1);
itemObject.addProperty("name", "java");
array.add(itemObject);
JsonObject itemObject2 = new JsonObject();
itemObject2.addProperty("id", 2);
itemObject2.addProperty("name", "C++");
array.add(itemObject2);
object.add("languages", array);
System.out.println(object.toString());