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

谷歌网站推广排名工具广州网站定做教程

谷歌网站推广排名工具,广州网站定做教程,wordpress 更换字体,做奢侈品的网站文章目录 一、概述二、思路三、实现四、测试 一、概述 我们在 yaml转换成JSON、MAP、Properties 通过引入 实现了JSON、Properties、XML、YAML文件的相互转换#xff0c;具体的类、方法如下#xff1a; 上面的实现#xff0c;定义了多个类、多个方法#xff0c;使用太不… 文章目录 一、概述二、思路三、实现四、测试 一、概述 我们在 yaml转换成JSON、MAP、Properties 通过引入 实现了JSON、Properties、XML、YAML文件的相互转换具体的类、方法如下 上面的实现定义了多个类、多个方法使用太不方便迫切需要精简逻辑。 二、思路 观察上面的代码实现发现jackson对不同对象的封装主要是通过ObjectMapper的子类来进行的 以JsonUtils为例观察方法的实现 /*** JsonUtils 转换工具* * author 00fly**/ public class JsonUtils extends BaseJackson {/*** json转properties字符串* * param jsonText* return* throws IOException*/public static String jsonToPropText(String jsonText)throws IOException{JsonNode jsonNode jsonMapper.readTree(jsonText);return javaPropsMapper.writeValueAsString(jsonNode);}/*** Json转xml字符串* * param jsonText* return* throws IOException*/public static String jsonToXml(String jsonText)throws IOException{JsonNode jsonNode jsonMapper.readTree(jsonText);return xmlMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode);}/*** json转yaml* * param jsonText* return* throws IOException*/public static String jsonToYaml(String jsonText)throws IOException{JsonNode jsonNode jsonMapper.readTree(jsonText);return yamlMapper.writeValueAsString(jsonNode);} } 我们发现转换方法分为2步首先将源格式数据转换为JsonNode其次再将JsonNode转换为需要的格式。 转换流程示意图如下 #mermaid-svg-v5Lqu3RlWWVPvgPN {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .error-icon{fill:#552222;}#mermaid-svg-v5Lqu3RlWWVPvgPN .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-v5Lqu3RlWWVPvgPN .marker{fill:#333333;stroke:#333333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .marker.cross{stroke:#333333;}#mermaid-svg-v5Lqu3RlWWVPvgPN svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-v5Lqu3RlWWVPvgPN .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .cluster-label text{fill:#333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .cluster-label span{color:#333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .label text,#mermaid-svg-v5Lqu3RlWWVPvgPN span{fill:#333;color:#333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .node rect,#mermaid-svg-v5Lqu3RlWWVPvgPN .node circle,#mermaid-svg-v5Lqu3RlWWVPvgPN .node ellipse,#mermaid-svg-v5Lqu3RlWWVPvgPN .node polygon,#mermaid-svg-v5Lqu3RlWWVPvgPN .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-v5Lqu3RlWWVPvgPN .node .label{text-align:center;}#mermaid-svg-v5Lqu3RlWWVPvgPN .node.clickable{cursor:pointer;}#mermaid-svg-v5Lqu3RlWWVPvgPN .arrowheadPath{fill:#333333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-v5Lqu3RlWWVPvgPN .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-v5Lqu3RlWWVPvgPN .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-v5Lqu3RlWWVPvgPN .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-v5Lqu3RlWWVPvgPN .cluster text{fill:#333;}#mermaid-svg-v5Lqu3RlWWVPvgPN .cluster span{color:#333;}#mermaid-svg-v5Lqu3RlWWVPvgPN div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-v5Lqu3RlWWVPvgPN :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} JSON JsonNode Properties对象 Properties字符串 XML YAML JSON Properties对象 Properties字符串 XML YAML 三、实现 对照上面的分析我们封装的方法如下 5个xxxToJsonNode 实现了原始数据到JsonNode的转换, 5个jsonNodeToxxx实现了JsonNode到结果数据的转换 核心代码 import java.io.IOException; import java.util.Properties;import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.dataformat.javaprop.JavaPropsMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;/*** JsonNodeUtils 转换工具* * author 00fly**/ public class JsonNodeUtils {private static JavaPropsMapper javaPropsMapper new JavaPropsMapper();private static JsonMapper jsonMapper new JsonMapper();private static XmlMapper xmlMapper new XmlMapper();private static YAMLMapper yamlMapper new YAMLMapper();// JsonNode对象转换为JSON、PROPERTIES、XML、YAML/*** jsonNode转json字符串* * param jsonNode* return*/public static String jsonNodeToJson(JsonNode jsonNode){return jsonNode.toPrettyString();}/*** jsonNode转properties字符串* * param jsonNode* return* throws IOException*/public static String jsonNodeToPropsText(JsonNode jsonNode)throws IOException{return javaPropsMapper.writeValueAsString(jsonNode);}/*** jsonNode转properties对象* * param jsonNode* return* throws IOException*/public static Properties jsonNodeToProperties(JsonNode jsonNode)throws IOException{return javaPropsMapper.writeValueAsProperties(jsonNode);}/*** jsonNode转xml字符串* * param jsonNode* return* throws IOException*/public static String jsonNodeToXml(JsonNode jsonNode)throws IOException{return xmlMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode);}/*** jsonNode转yaml* * param jsonNode* return* throws IOException*/public static String jsonNodeToYaml(JsonNode jsonNode)throws IOException{return yamlMapper.writeValueAsString(jsonNode);}// JSON、PROPERTIES、XML、YAML转换为JsonNode对象/*** json转JsonNode* * param jsonText* return* throws IOException*/public static JsonNode jsonToJsonNode(String jsonText)throws IOException{return jsonMapper.readTree(jsonText);}/*** properties对象转JsonNode* * param properties* return* throws IOException*/public static JsonNode propsToJsonNode(Properties properties)throws IOException{return javaPropsMapper.readPropertiesAs(properties, JsonNode.class);}/*** properties字符串转JsonNode* * param propText* return* throws IOException*/public static JsonNode propsToJsonNode(String propText)throws IOException{return javaPropsMapper.readTree(propText);}/*** xml转JsonNode* * param xmlContent* return* throws IOException*/public static JsonNode xmlToJsonNode(String xmlContent)throws IOException{return xmlMapper.readTree(xmlContent);}/*** yaml转JsonNode* * param yamlContent* return* throws IOException*/public static JsonNode yamlToJsonNode(String yamlContent)throws IOException{return yamlMapper.readTree(yamlContent);} } 四、测试 下面的测试以json转换为propText、xml、yaml为例来说明,其他情况照猫画虎、以此类推, 能读代码的都是聪明人,哈哈! import java.io.IOException; import java.nio.charset.StandardCharsets;import org.apache.commons.io.IOUtils; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource;import com.fly.core.utils.jackson.JsonNodeUtils;import lombok.extern.slf4j.Slf4j;/*** JsonNodeUtils测试*/ Slf4j public class JsonNodeUtilsTest {static String jsonText;BeforeAllpublic static void init(){try{Resource resource new ClassPathResource(data.json);jsonText IOUtils.toString(resource.getInputStream(), StandardCharsets.UTF_8);}catch (IOException e){log.error(e.getMessage(), e);}}Testpublic void jsonToPropText()throws IOException{String propText JsonNodeUtils.jsonNodeToPropsText(JsonNodeUtils.jsonToJsonNode(jsonText));log.info(jsonToPropText: {}, propText);}Testpublic void jsonToXml()throws IOException{String xml JsonNodeUtils.jsonNodeToXml(JsonNodeUtils.jsonToJsonNode(jsonText));log.info(jsonToXML: {}, xml);}Testpublic void jsonToYaml()throws IOException{String yaml JsonNodeUtils.jsonNodeToYaml(JsonNodeUtils.jsonToJsonNode(jsonText));log.info(jsonToYaml: {}, yaml);} } 测试结果就不放出来了。 大家可以根据需要选择方案有任何问题和建议都可以向我提问讨论,大家一起进步谢谢! -over-
http://www.dnsts.com.cn/news/146392.html

相关文章:

  • 中国室内设计联盟网优化排名推广教程网站
  • 乡镇门户网站建设深圳福田区房子价格
  • 网站全景看图怎么做外网设计网站
  • 广州建设工程造价管理网站中山网站建设模板网络公司
  • 中国北京门户网站建设调查报告软装设计网站大全
  • 可以推广网站网站建设熊掌号
  • 一个服务器做一样的网站吗制作网站的全过程
  • 国内公司网站模板企业php 网站系统
  • 临安网站设计it教育网站建设
  • wordpress支付宝免签约北京seo外包
  • 申请建设项目立项备案网站建设自己的网站
  • 专业点的网站制作公司深圳坪山邮政编码
  • 十堰微网站建设电话久久建筑网碗扣式钢管脚手架安全技术规范
  • 游戏网站开发计划书案例目录全屏网站宽度
  • google网站提交怎么去投诉做网站的公司
  • 环境设计专业资料网站毕节市网站建设58同城
  • 做网站 融资网页注册qq
  • 电商网站对比 京东商城 淘宝网 阿里巴巴做搜索网站挣钱
  • 方维o2o 2.9蓝色团购网站程序源码模板邵阳网站建设哪家好
  • 数商云电子商务网站建设公司网站开发的流程
  • 鼠标网站模板app网站如何做推广方案
  • 网站开发工作图解网站统计模块
  • 团购汽车最便宜的网站建设手机网站产品展示模板
  • 岳阳高端网站建设如何在网站做电子报
  • 做头像网站东莞市网上注册公司流程
  • 非法期货做网站分析苏宁易购的网站建设
  • 江门市网站建设网站权重排行
  • 自助网站建设系统源码企业做网页还是网站
  • o2o商城网站搭建网站自动优化
  • 网站建设实训收获页面设计器翻译成英文