FastJson
maven
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.61</version>
</dependency>
Java对象转Json
public class Person {
@JSONField(name = "age")
private int age;
@JSONField(name = "name")
private String name;
@JSONField(name = "dateTime", format = "yyyy-MM-dd")
private Date dateTime;
public Person(int age, String name, Date dateTime) {
super();
this.age = age;
this.name = name;
this.dateTime = dateTime;
}
// getter and setter
List<Person> listOfPersons = new ArrayList<Person>();
listOfPersons.add(new Person(28, "iFan", new Date()));
listOfPersons.add(new Person(18, "fanfan", new Date()));
String jsonOutput = JSON.toJSONString(listOfPersons);
System.out.println(jsonOutput);
Map<String, Object> map = new HashMap<>();
map.put("name", "iFan");
map.put("age", 18);
map.put("dateTime", new Date());
jsonOutput = JSON.toJSONString(map);
System.out.println(jsonOutput);
Json转为Java对象
Person person = new Person(18, "iFan", new Date());
String jsonObject = JSON.toJSONString(person);
Person newPerson = JSON.parseObject(jsonObject, Person.class);
// List 对象
List<Person> listOfPersons = new ArrayList<Person>();
listOfPersons.add(new Person(28, "iFan", new Date()));
listOfPersons.add(new Person(18, "fanfan", new Date()));
jsonObject = JSON.toJSONString(listOfPersons);
List<Person> newPerson = JSON.parseArray(jsonObject, Person.class);
创建 Json 对象
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < 2; i++) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("age", 10);
jsonObject.put("name", "ifan " + i);
jsonArray.add(jsonObject);
}
String jsonOutput = jsonArray.toJSONString();
int age = jsonArray.get(0).getIntValue("age");
Gson
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
Gson gson = new GsonBuilder()
//序列化null
.serializeNulls()
// 设置日期时间格式,另有2个重载方法
// 在序列化和反序化时均生效
.setDateFormat("yyyy-MM-dd")
// 禁此序列化内部类
.disableInnerClassSerialization()
//生成不可执行的Json(多了 )]}' 这4个字符)
.generateNonExecutableJson()
//禁止转义html标签
.disableHtmlEscaping()
//格式化输出
.setPrettyPrinting()
.create();
Java对象转Json
Gson gson = new Gson();
String json = gson.toJson(new Person(18, "iFan", new Date()));
System.out.println(json);
Json转Java对象
Person person = gson.fromJson(json, Person.class);
System.out.println(person);
Json对象
JsonObject json = new JsonObject();
json.addProperty("name", "ifan");
json.addProperty("age", 18);
Gson学习文章