当前位置: 首页 > 知识库问答 >
问题:

用jsonpath替换json值

郤玉书
2023-03-14

我们有这样一个json字符串:

{
"key1": {
    "key2": {
        "key6": true
    },
    "key6": {
        "key3": [
            {
                "key4": "1",
                "key5": "1"
            },
            {
                "key4": "1",
                "key5": "1"
            }
        ]
    }

},
"from": 0
}

我们想使用下面的代码来替换后一个key6的值:

DocumentContext dContext = JsonPath.using(configuration).parse(objectString);
dContext.set("$.key6"+,"false"));

但是由于key6在jsonstring中显示了两次,我们替换了错误的值。上面的json结构只是一个例子,“key6”的json路径在不同的json中是完全不同的。我们无法为这种替换编写确切的jsonpath。我们怎么能只是用java替换没有孩子的“key6”的值?多谢了。

共有1个答案

丁俊智
2023-03-14

您唯一的解决方案是转到精确关键点,在您的情况下,类似于以下内容:

dContext.set("$.key1.key2.key6"+,"false"));
 类似资料:
  • 问题内容: 由于与我正在从事的项目有关的原因,我希望对JSON文件的整个查询都以字符串形式保存(例如,(而不是必须将文档的每个级别临时存储为单独的对象)) 。 我目前正在使用JsonPath(版本0.8.0,这是我能找到的最新版本),基本上这正是我在寻找的东西,但是我得到了下面显示的异常。我只是使用JsonPath Google代码页上的示例JSON,并使用其中的一个示例查询。 我在这里做错了什么

  • 我目前使用的是JsonPath(0.8.0版本,这是我能找到的最新版本),这基本上正是我要寻找的,但是我得到了如下所示的异常。我只是使用JsonPath google代码页上给出的示例JSON,使用他们的示例查询之一。 我在这里做错了什么?或者,如果没有解决方案,那么Java中是否有JsonPath的替代方案?我希望能够以字符串的形式传递整个查询,而且必须是Java的。 功能: 例外情况: 实践J

  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 JSON和XML的比较可谓不相上下。 官方文档:http://docs.python.org/library/json.html Json在线解析网站:http://www.js

  • 问题内容: 我的apicontroller返回了以下JSON对象: 我要替换为 我已经尝试了下面的代码,但它仅代替的第一次出现。如何替换所有条目? 谢谢, 问题答案: 您需要使替换全局: 这样,它将继续替换null直到到达结尾 正则表达式文档: https://developer.mozilla.org/zh- CN/docs/Web/JavaScript/Reference/Global_Obj

  • 我有一个问题。我想获取pin码,其中street=='abc strt'<我正在使用Jaway来实现这一点 jaywayxpath:,正在返回

  • 替换javax中的值。json。JsonObject不能直接使用,因为javax。json。JsonObject实现了一个不可变的映射。为了做到这一点,您必须创建一个新的JsonObject,并将值从原来的JsonObject复制到新的JsonObject中,同时替换要替换的值。我找到了如何使用“简单”JsonObject实现这一点的示例,其中没有嵌套的JsonObject。我要寻找的是一个通用的