Java Json操作

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学习文章

posted @ 2020-04-28 20:38  呓语i  阅读(181)  评论(0编辑  收藏  举报