JSON对象相互转换

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: JSON对象相互转换

 目录

String --> JsonNode对象

JsonNode对象 --> String

Map --> JsonNode对象,object>

JsonNode数组 --> List>集合

List> --> JsonNode

获取JsonNode中某个key的值

获取JsonNode字段下的某个数组


String --> JsonNode对象

// 创建一个 ObjectMapper 对象实例,用于在 Java 对象和 JSON 数据之间进行序列化和反序列化
ObjectMapper objectMapper = new ObjectMapper();
// 解析整个JSON字符串为一个JsonNode对象
JsonNode rootNode = objectMapper.readTree(result);

image.gif

JsonNode对象 --> String

// 创建一个 ObjectMapper 对象实例,用于在 Java 对象和 JSON 数据之间进行序列化和反序列化
ObjectMapper objectMapper = new ObjectMapper();
// 解析整个JSON字符串为一个JsonNode对象
JsonNode jsonResult= objectMapper.readTree(result);
// JsonNode转换成String
result = objectMapper.writeValueAsString(jsonResult);

image.gif

Map<String,Object> --> JsonNode对象

// 创建一个 ObjectMapper 实例  
ObjectMapper objectMapper = new ObjectMapper();
Map<String,Object> map = new HashMap<>();
map.put("name","张三");
map.put("age",30);
// 将Map转换为JsonNode
JsonNode jsonNode = objectMapper.valueToTree(map);

image.gif

JsonNode数组 --> List<Map<String,Object>>集合

// 创建一个 ObjectMapper 对象实例,用于在 Java 对象和 JSON 数据之间进行序列化和反序列化
ObjectMapper objectMapper = new ObjectMapper();
// 解析整个JSON字符串为一个JsonNode对象
JsonNode rootNode = objectMapper.readTree(result);
// 获取data字段下的data数组
JsonNode dataArrayNode = rootNode.get("data").get("data");
// 转换JsonNode数组成List<Map<String,Object>>集合
List<Map<String, Object>> dataList = objectMapper.convertValue(dataArrayNode, new TypeReference<List<Map<String, Object>>>() {});

image.gif

List<Map<String,Object>> --> JsonNode

// 创建一个 ObjectMapper 对象实例,用于在 Java 对象和 JSON 数据之间进行序列化和反序列化
ObjectMapper objectMapper = new ObjectMapper();
// 解析整个JSON字符串为一个JsonNode对象
JsonNode rootNode = objectMapper.readTree(result);
// 获取data字段下的data数组
JsonNode dataArrayNode = rootNode.get("data").get("data");
// 转换成List<Map<String,Object>>集合
List<Map<String, Object>> dataList = objectMapper.convertValue(dataArrayNode, new TypeReference<List<Map<String, Object>>>() {});
// 用来收集结果的集合
ArrayNode arrayNode = objectMapper.createArrayNode();
// 循环遍历
dataList.forEach(item ->{
    // 给结果集设置值
    arrayNode.add(objectMapper.valueToTree(item));
}

image.gif

获取JsonNode中某个key的值

// 创建一个 ObjectMapper 对象实例,用于在 Java 对象和 JSON 数据之间进行序列化和反序列化
ObjectMapper objectMapper = new ObjectMapper();
// 解析整个JSON字符串为一个JsonNode对象
JsonNode rootNode = objectMapper.readTree(result);
// 获取errcode
JsonNode errcode = rootNode.get("errcode");

image.gif

获取JsonNode字段下的某个数组

// 创建一个 ObjectMapper 对象实例,用于在 Java 对象和 JSON 数据之间进行序列化和反序列化
ObjectMapper objectMapper = new ObjectMapper();
// 解析整个JSON字符串为一个JsonNode对象
JsonNode rootNode = objectMapper.readTree(result);
// 获取data字段下的data数组
JsonNode dataArrayNode = rootNode.get("data").get("data");

image.gif


相关文章
|
3月前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
1月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
228 7
|
1月前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
76 3
|
6月前
|
JSON NoSQL MongoDB
实时计算 Flink版产品使用合集之要将收集到的 MongoDB 数据映射成 JSON 对象而非按字段分割,该怎么操作
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
XML JSON JavaScript
JSON对象的stringify()和parse()方法使用
本文阐述了JSON对象的`stringify()`和`parse()`方法的用法,包括如何将JavaScript对象转换为JSON字符串,以及如何将JSON字符串解析回JavaScript对象,并讨论了转换过程中需要注意的事项。
JSON对象的stringify()和parse()方法使用
|
2月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
79 1
|
4月前
|
存储 JSON 测试技术
python中json和类对象的相互转化
针对python中类对象和json的相关转化问题, 本文介绍了4种方式,涉及了三个非常强大的python库jsonpickle、attrs和cattrs、pydantic,但是这些库的功能并未涉及太深。在工作中,遇到实际的问题时,可以根据这几种方法,灵活选取。 再回到结构化测试数据的构造,当需要对数据进行建模时,也就是赋予数据业务含义,pydantic应该是首选,目前(2024.7.1)来看,pydantic的生态非常活跃,各种基于pydantic的工具也非常多,建议尝试。
|
5月前
|
Web App开发 JSON JavaScript
JavaScript对象常用操作JSON总结
JavaScript对象常用操作JSON总结
39 8
|
5月前
|
JSON Java fastjson
老程序员分享:java对象转json
老程序员分享:java对象转json
173 3
|
5月前
|
JSON Java 数据格式
Java中创建Json对象的方法和详细代码
Java中创建Json对象的方法和详细代码
58 1