GSON
Gson
Gson gson = new Gson();
GsonBuilder builder = new GsonBuilder();
Gson gson = builder.create();
String json = "{\"brand\":\"Jeep\", \"doors\": 3}";
Gson gson = new Gson();
Car car = gson.fromJson(json, Car.class);
Car car = new Car();
car.brand = "Rover";
car.doors = 5;
Gson gson = new Gson();
String json = gson.toJson(car);
// 美化输出
Gson gson = new GsonBuilder().setPrettyPrinting().create();
类注解
您可以告诉
Transient Fields
如果您将
public class Car {
public transient String brand = null;
public int doors = 0;
}
JsonReader
流解析器通常有两种版本:拉式(Pull)解析器和推式(Push)解析器。拉式解析器是一种解析器,当代码准备处理下一个标记时,使用它的代码会将标记从解析器中拉出。推送解析器解析
String json = "{\"brand\" : \"Toyota\", \"doors\" : 5}";
JsonReader jsonReader = new JsonReader(new StringReader(json));
String json = "{\"brand\" : \"Toyota\", \"doors\" : 5}";
JsonReader jsonReader = new JsonReader(new StringReader(json));
try {
while(jsonReader.hasNext()){
JsonToken nextToken = jsonReader.peek();
System.out.println(nextToken);
if(JsonToken.BEGIN_OBJECT.equals(nextToken)){
jsonReader.beginObject();
} else if(JsonToken.NAME.equals(nextToken)){
String name = jsonReader.nextName();
System.out.println(name);
} else if(JsonToken.STRING.equals(nextToken)){
String value = jsonReader.nextString();
System.out.println(value);
} else if(JsonToken.NUMBER.equals(nextToken)){
long value = jsonReader.nextLong();
System.out.println(value);
}
}
} catch (IOException e) {
e.printStackTrace();
}