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

网站专业代做哪家好企业整站优化

网站专业代做哪家好,企业整站优化,太原网站建设方案书,wordpress 获取文章第一张图片背景 最近使用json实现复杂业务配置, 因为功能需要解析读取json的中节点数据。如果使用循环或者stream处理,可以实现,但是都过于麻烦。在想能否使用更简单json读取方式,正好发现fastjson支持该功能,本文做一个记录 案例说明 示…

背景

最近使用json实现复杂业务配置, 因为功能需要解析读取json的中节点数据。如果使用循环或者stream处理,可以实现,但是都过于麻烦。在想能否使用更简单json读取方式,正好发现fastjson支持该功能,本文做一个记录

案例说明

示例1使用fastjson实现,依赖如下

           <!--alibaba.json和依赖包--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.79</version></dependency>

为了对比写法便捷性,示例2也提供jackson的部分实现方式。

示例1. fastjson实现json指定节点按条件过滤提取数据

使用 JSONPath.eval 来筛选 JSON 数据中符合特定条件的元素。以下是使用 eval 方法提取 author 等于 “Nigel Rees” 的那条记录的示例代码:

public class JSONPathExample {public static void main(String[] args) {String json = "{\n" +"  \"store\": {\n" +"    \"book\": [\n" +"      { \"category\": \"reference\", \"author\": \"Nigel Rees\", \"title\": \"Sayings of the Century\", \"price\": 8.95 },\n" +"      { \"category\": \"fiction\", \"author\": \"Evelyn Waugh\", \"title\": \"Sword of Honour\", \"price\": 12.99 },\n" +"      { \"category\": \"fiction\", \"author\": \"Herman Melville\", \"title\": \"Moby Dick\", \"price\": 8.99 },\n" +"      { \"category\": \"fiction\", \"author\": \"J. R. R. Tolkien\", \"title\": \"The Lord of the Rings\", \"price\": 22.99 }\n" +"    ],\n" +"    \"bicycle\": {\n" +"      \"color\": \"red\",\n" +"      \"price\": 19.95\n" +"    }\n" +"  }\n" +"}";JSONObject jsonObject = JSON.parseObject(json);JSONArray result = (JSONArray) JSONPath.eval(jsonObject, "$.store.book[?(@.author == 'Nigel Rees')]");for (Object book : result) {System.out.println(book);}}
}

运行结果如下,符合预期。而且代码非常简洁。

{"author":"Nigel Rees","price":8.95,"category":"reference","title":"Sayings of the Century"}

示例2. jackson实现json指定节点按条件过滤提取数据

jackson 不支持直接使用 JSONPath 表达式,但可以通过结合 Jackson 和 Java 流操作实现类似的功能。以下是一个使用 Jackson 过滤 JSON 数据中 type 为 ‘AggregateRoot’ 的节点的示例:

public class JacksonExample {public static void main(String[] args) throws IOException {String json = "{\n" +"  \"classDiagram\": {\n" +"    \"nodes\": [\n" +"      { \"id\": \"1\", \"type\": \"AggregateRoot\", \"name\": \"Node1\" },\n" +"      { \"id\": \"2\", \"type\": \"Entity\", \"name\": \"Node2\" },\n" +"      { \"id\": \"3\", \"type\": \"AggregateRoot\", \"name\": \"Node3\" },\n" +"      { \"id\": \"4\", \"type\": \"ValueObject\", \"name\": \"Node4\" }\n" +"    ]\n" +"  }\n" +"}";ObjectMapper objectMapper = new ObjectMapper();JsonNode rootNode = objectMapper.readTree(json);JsonNode nodesNode = rootNode.path("classDiagram").path("nodes");List<Map<String, Object>> nodes = new ArrayList<>();if (nodesNode.isArray()) {nodes = StreamSupport.stream(nodesNode.spliterator(), false).filter(node -> "AggregateRoot".equals(node.path("type").asText())).map(node -> objectMapper.convertValue(node, Map.class)).collect(Collectors.toList());}for (Map<String, Object> node : nodes) {System.out.println(node);}}
}

总结

fastjson的JSONPath.eval方法对于快速解析json数据十分便利,后续再记录更多的使用技巧。

http://www.khdw.cn/news/48577.html

相关文章:

  • 资讯网站 怎样 增强用户粘度百度收录量
  • 青岛网站关键词排名优化seo网络推广优化教程
  • 武汉模板网站东莞做网页建站公司
  • 中国建设有限公司官网杭州seo靠谱
  • 附近企业建站公司企业seo排名外包
  • 网络公司名字大全寓意抖音关键词排名优化软件
  • 公共建设工程中心网站seo系统是什么
  • 网站空间3个g多少钱seo发贴软件
  • 常用的开发环境有哪几种seo博客推广
  • 如何做网站公司seo深度优化公司
  • 中学网站建设2022年列入传销组织最新骗法
  • 孟村做网站网站维护费用
  • 龙岗做企业网站深圳百度网站排名优化
  • 网站开发计划书范文小红书推广费用一般多少
  • 建设企业网站公积金站长之家域名查询官网
  • 丽江门户网站广州seo排名优化
  • 融安有那几个网站做的比较好的建设网官方网站
  • java主要就是做网站吗找客户资源的网站
  • 昆明网站搭建公司企业官网推广
  • 丽水市建设局网站电工证如何去推广一个app
  • 淘宝优惠券网站怎么做的搜索引擎优化关键词选择的方法有哪些
  • 开发网站流程seo产品推广
  • 台州seo网站推广费用5118素材网站
  • 加盟类网站怎么做seo企业优化方案
  • 可以在自己家做外卖的网站网站模板套用教程
  • 政府网站专题栏目建设方案外贸商城建站
  • 运用阿里云怎么做网站谷歌seo一个月费用需要2万吗
  • 没有网站 可以做百度口碑吗seo优化的方法有哪些
  • 乌鲁木齐网站设计服务商app关键词排名优化
  • 海口网站建设工作企点qq