当前位置: 首页 > wzjs >正文

有了域名怎样做网站微信公众号的推广

有了域名怎样做网站,微信公众号的推广,软件设计方法是什么,新网站如何做营销JSON数据的操作,系列文章: 《Jackson的核心类与API方法:ObjectMapper、JsonNode、ObjectNode、ArrayNode》 《Jackson的使用与创建Jackson工具类》 《Jackson使用ObjectNode对象实现JSON对象数据(一):增、删…

 JSON数据的操作,系列文章:

《Jackson的核心类与API方法:ObjectMapper、JsonNode、ObjectNode、ArrayNode》

《Jackson的使用与创建Jackson工具类》

《Jackson使用ObjectNode对象实现JSON对象数据(一):增、删、改、查》

《Jackson使用ArrayNode对象实现JSON列表数据(二):增、删、改、查》

《Jackson实现JSON数据的合并》

Jackson 库实现 JSON 数据的合并,可以采用基于树模型的深度合并(递归策略),可以保留两个 JSON 的所有层级数据,避免覆盖冲突。在实际开发中,Jackson 功能丰富、安全可靠并且具有比较好的兼容性,这让程序开发人员可以很方便地实现 JavaBean 和以 “键 : 值” 结构保存的 JSON 数据的相互转换。

1、创建 Jackson 工具类

创建 JacksonUtil 类(Jackson工具类),实现JSON数据的合并方法。

package com.pjb.utils;import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;/*** Jackson工具类* @author pan_junbiao**/
public class JacksonUtil
{private static ObjectMapper mapper = new ObjectMapper();/*** 合并 JSON 数据* @return 合并后的 JsonNode 对象*/public static JsonNode mergeJsonNode(JsonNode mainNode, JsonNode updateNode){//参数校验if (mainNode == null && updateNode == null){return null;}if (mainNode == null){return updateNode;}if (updateNode == null){return mainNode;}if (mainNode.isObject() && updateNode.isObject()){ObjectNode mergedNode = (ObjectNode) mainNode;updateNode.fields().forEachRemaining(entry -> {String key = entry.getKey();JsonNode value = entry.getValue();if (mergedNode.has(key)){mergedNode.set(key, mergeJsonNode(mergedNode.get(key), value));} else{mergedNode.set(key, value);}});return mergedNode;} else{// 非对象类型直接覆盖(如数组、基本类型)return updateNode;}}/*** 合并 JSON 数据* @return 合并后的 JSON 字符串*/public static String mergeJsonString(String mainJson, String updateJson){//参数校验if ((mainJson == null || mainJson.length() == 0) && (updateJson == null || updateJson.length() == 0)){return null;}if (mainJson == null || mainJson.length() == 0){return updateJson;}if (updateJson == null || updateJson.length() == 0){return mainJson;}try{//合并 JSON 数据JsonNode mainNode = mapper.readTree(mainJson);JsonNode updateNode = mapper.readTree(updateJson);JsonNode resultNode = mergeJsonNode(mainNode, updateNode);return mapper.writeValueAsString(resultNode);} catch (Exception e){e.printStackTrace();}return null;}
}

2、测试 JSON 数据的合并

创建测试方法,测试 JSON 数据的合并结果。

/*** 合并 JSON 数据*/
@Test
public void mergeJsonTest()
{try{String mainNode = "{\n" +"  \"userId\": 1,\n" +"  \"userName\": \"pan_junbiao的博客\"\n" +"}";String updateNode = "{\n" +"  \"userName\": \"pan_junbiao的博客_001\",\n" +"  \"blogName\": \"您好,欢迎访问 pan_junbiao的博客\",\n" +"  \"blogUrl\": \"https://blog.csdn.net/pan_junbiao\",\n" +"  \"hobbies\": [\"游泳\", \"篮球\", \"足球\"]\n" +"}";//合并 JSON 数据String result = JacksonUtil.mergeJsonString(mainNode, updateNode);//打印结果System.out.println(result);} catch (Exception ex){ex.printStackTrace();}
}

执行结果:

{"userId": 1,"userName": "pan_junbiao的博客_001","blogName": "您好,欢迎访问 pan_junbiao的博客","blogUrl": "https://blog.csdn.net/pan_junbiao","hobbies": ["游泳", "篮球", "足球"]
}

http://www.dtcms.com/wzjs/251811.html

相关文章:

  • 微云怎么做网站智能建站系统
  • 吉林省吉林市疫情最新消息今天seo排名助手
  • 南京网站建设小程序天津百度快速排名优化
  • 有没有免费手游代理电脑上突然出现windows优化大师
  • 一个后台管理多个网站拓客引流推广
  • 微信网站模块深圳宝安seo外包
  • 郑州网站建设设计公司哪家好网络培训seo
  • 中国能源建设集团网站群百度企业
  • 网站线框图软件东莞推广服务
  • 程序员做的网站别人用于诈骗产品运营主要做什么
  • wordpress删除未分类长沙网站seo公司
  • 网站用什么软件seo排名优化湖南正规seo优化报价
  • 灯饰 技术支持 东莞网站建设小学生收集的新闻10条
  • 石家庄制作网站推广百度电脑网页版
  • 郑州电力高等专科学校哪个专业好seo公司推荐
  • 建网站 企汇网技术培训机构
  • 绵阳做网站的公司有哪些seo技术最新黑帽
  • 美团这个网站多少钱做的百度网站排名优化软件
  • 石家庄网站建设备案免费推广网站入口
  • 58企业网站如何做软文有哪些发布平台
  • 做网站兼职百度搜索推广方案
  • 用上网做任务的网站珠海网络推广公司
  • 自己做的网站别人打不开青岛seo关键词
  • 深圳方维网站建设今天的最新消息新闻
  • 黑色网站seo国外推广软件
  • 品牌策划与设计百度智能小程序怎么优化排名
  • 没有网站如何做淘宝客b站推广入口2023mmm无病毒
  • 唐山网站建设拓正规接单赚佣金的app
  • 网站建设杭州公司做网站推广好做吗
  • wordpress用户角色权限seo关键词快速排名软件