Java系列之:ObjectMapper实现对象转化为Json、集合转化为Json、Json转化为对象、Json转化为JsonNode、JsonNode转化为Json字符串

Java系列之:ObjectMapper实现对象转化为Json、集合转化为Json、Json转化为对象、Json转化为JsonNode、JsonNode转化为Json字符串

一、创建类Dataset

import lombok.Data;

@Data
public class Dataset {


    /**
     * 数据表全称
     */
    private String tableName;

    /**
     * 数据库名称
     */
    private String databaseName;

    /**
     * 表的描述
     */
    private String tableComment;

    /**
     * 表的行数
     */
    private Long tableRows;

}

二、生成对象插入数据

        Dataset dataset = new Dataset();
        dataset.setDatabaseName("dw数据库");
        dataset.setTableName("order订单表");
        dataset.setTableComment("订单表存放用户订单信息");
        dataset.setTableRows(1000L);

        Dataset dataset1 = new Dataset();
        dataset1.setDatabaseName("optics数据库");
        dataset1.setTableName("optics订单表");
        dataset1.setTableComment("订单表存放光学订单信息");
        dataset1.setTableRows(8000L);

三、对象转化为Json

//对象转化为JSON
ObjectMapper objectMapper = new ObjectMapper();
String datasetToJson = objectMapper.writeValueAsString(dataset);
System.out.println(datasetToJson);

输出如下所示:

{"tableName":"order订单表","databaseName":"dw数据库","tableComment":"订单表存放用户订单信息","tableRows":1000}

四、集合转化为Json

生成集合

     ArrayList<Dataset> datasetList = new ArrayList<>();
     datasetList.add(dataset);
     datasetList.add(dataset1);
     System.out.println(datasetList);

输出如下所示:

[Dataset(tableName=order订单表, databaseName=dw数据库, tableComment=订单表存放用户订单信息, tableRows=1000), 
Dataset(tableName=optics订单表, databaseName=optics数据库, tableComment=订单表存放光学订单信息, tableRows=8000)]

集合转化为JSON

	//集合转化为JSON
	String dataSetListJson = objectMapper.writeValueAsString(datasetList);
	System.out.println(dataSetListJson);

输出如下所示:

[{"tableName":"order订单表","databaseName":"dw数据库","tableComment":"订单表存放用户订单信息","tableRows":1000},{"tableName":"optics订单表","databaseName":"optics数据库","tableComment":"订单表存放光学订单信息","tableRows":8000}]

五、Json转化为对象

Dataset dataset3 = objectMapper.readValue(datasetToJson,Dataset.class);
System.out.println(dataset3);

输出如下所示:

Dataset(tableName=order订单表, databaseName=dw数据库, tableComment=订单表存放用户订单信息, tableRows=1000)

六、Json转JsonNode

datasetToJson为:
{“tableName”:“order订单表”,“databaseName”:“dw数据库”,“tableComment”:“订单表存放用户订单信息”,“tableRows”:1000}

//JSON转JsonNode
JsonNode jsonNode = objectMapper.readTree(datasetToJson);
System.out.println("输出jsonNode:"+jsonNode);

输出如下所示:

输出jsonNode:{"tableName":"order订单表","databaseName":"dw数据库","tableComment":"订单表存放用户订单信息","tableRows":1000}

dataSetListJson为:

[{“tableName”:“order订单表”,“databaseName”:“dw数据库”,“tableComment”:“订单表存放用户订单信息”,“tableRows”:1000},{“tableName”:“optics订单表”,“databaseName”:“optics数据库”,“tableComment”:“订单表存放光学订单信息”,“tableRows”:8000}]

	JsonNode jsonNode1 = objectMapper.readTree(dataSetListJson);
    System.out.println("输出jsonNode:"+jsonNode1);

输出如下所示:

输出jsonNode:
[{"tableName":"order订单表","databaseName":"dw数据库","tableComment":"订单表存放用户订单信息","tableRows":1000},
{"tableName":"optics订单表","databaseName":"optics数据库","tableComment":"订单表存放光学订单信息","tableRows":8000}]

七、获取JsonNode中数据

查JsonNode数据:

 String databaseName = jsonNode.path("databaseName").asText();
 System.out.println(databaseName);

 String databaseName1 = jsonNode.get("databaseName").asText();
 System.out.println(databaseName1);

输出如下所示:

dw数据库
dw数据库

八、JsonNode转化为json字符串

	//JsonNode转为json字符串
	String jsonNodeString = objectMapper.writeValueAsString(jsonNode);
    System.out.println(jsonNodeString);

输出如下所示:

{"tableName":"order订单表","databaseName":"dw数据库","tableComment":"订单表存放用户订单信息","tableRows":1000}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐骑行^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值