zoukankan      html  css  js  c++  java
  • 精灵小巧的 Jsonpath 万精油:Snack3

    前几天和一个群里的朋友交流一个需求:在 Json 里像 XPath 一样找出节点,并修改值,然后输出新的Json。

    很多人马上就会说,Jsonpath 啊。

    是的 Jsonpath 确实能快速找出节点;但修改值,并在之前的文档树里生效,能吗???很多框架并不能!(或者相当复杂)

    能处理这种需要的 Snack3 算一个,而且非常的方便:

    case1 :修改k1的值

    var json = "{"k1":1,"k2":"123","k3":"az章","k4":[1, 2],"k5":{"k51": "511", "k52":[{"k521":"e"},{"k521":"F"}]}}";
    
    var oNode = ONode.load(json);
    
    oNode.select("$.k1").val(2);
    
    var json21 = oNode.toJson();
    

    case2 :修改k5/k52/@k512的值为e的所有节点(这需求听着都晕)

    var json = "{"k1":1,"k2":"123","k3":"az章","k4":[1, 2],"k5":{"k51": "511", "k52":[{"k521":"e"},{"k521":"F"}]}}";
    
    var oNode = ONode.load(json);
    
    oNode.select("$.k5.k52[?(@.k521 == 'e')].k521").forEach(n-> n.val("ee"));
    
    var json22 = oNode.toJson();
    

    处理之种需求,只需要添加70kb的框架

    <dependency>
      <groupId>org.noear</groupId>
      <artifactId>snack3</artifactId>
      <version>3.1.8.1</version>
    </dependency>
    

    万精油哦......

  • 相关阅读:
    输入函数
    pe结构讲解
    pe结构讲解
    小甲鱼pe结构讲解
    pe结构讲解
    pe结构讲解
    YUI3学习笔记 ( 7 )
    [转载 css]用CSS调整scrollbar(滚动条)的配色
    [转载 js]一次性解决png在i6下的透明问题(包括做为img和背景的两种情况)
    YUI3学习笔记 ( 7 )
  • 原文地址:https://www.cnblogs.com/noear/p/13482949.html
Copyright © 2011-2022 走看看