美文网首页
Spring Boot 13 -- json 的使用

Spring Boot 13 -- json 的使用

作者: 半碗鱼汤 | 来源:发表于2019-10-23 21:34 被阅读0次

一、导入依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.32</version>
        </dependency>

二、常用方法

1. Json 对象转 Java 对象

json

{
    "field1": 123, 
    "field2": "xxx", 
    "field3": "xxx"
 }

Dto.java

import lombok.Data;

@Data
public class Dto {
    private int field1;
    private String field2;
    private String field3;
}

转换

    try {
            Dto dto = JSONObject.parseObject(jsonStr, Dto.class);
        } catch (Exception e) {
            // 转换出错
        }

2. Json 数组转 Java List

json

[{
    "field1": 1, 
    "field2": "xxx1", 
    "field3": "xxx1"
 },
 {
    "field1": 2, 
    "field2": "xxx2", 
    "field3": "xxx2"
 }]

Dto.java

import lombok.Data;

@Data
public class Dto {
    private int field1;
    private String field2;
    private String field3;
}

转换

    try {
            List<Dto> dtoList = JSONObject.parseArray(jsonStr, Dto.class);
        } catch (Exception e) {
            // 转换出错
        }

3、将一个实体类转成 json 对象

JSON.toJSON(dto)

4、将一个 dto list 复制到一个 vo list

List<Dto> dtoList = new ArrayList<>();
List<Vo> voList = JSON.parseArray(JSON.toJSONString(dtoList), Vo.class);

5、有序的 json 对象

JSON 数据本身是无序的,通常由字符串生成的 JSONObject 也是无序的。如果想 JSONObject 节点的顺序与字符串原本的顺序保持一致,可以借助 fastjson 很容易地实现。

  • 将字符串 data 转换成有序的 JSONObject
JSONObject jsonObject = JSONObject.parseObject(data, JSONObject.class, Feature.OrderedField);
  • 新建一个有顺序的 json 对象
JSONObject jsonObject = new JSONObject(true);

相关文章

网友评论

      本文标题:Spring Boot 13 -- json 的使用

      本文链接:https://www.haomeiwen.com/subject/muekectx.html