在 javascript 中使用 jsonpath 插入 JSON 对象?

Insert JSON object using jsonpath in javascript?

有没有什么方法可以使用 jsonPath 在另一个 JSON 对象的中间插入一个 JSON 对象?在收到 JSON 对象作为响应后,我在 Postman 测试脚本中使用 Javascript,我需要在响应中间插入 JSON 数据。我可以使用“$..decision[0]”访问我想要的响应部分。有没有办法使用“$..decision[1]”添加数据,这样:

 ...
"decision": [
            {
                "var1": 43,
                "var2": 1,
            }
        ],...

变成这样:

 ...
"decision": [
            {
                "var1": 43,
                "var2": 1
            },
            {
                "foo1": "true",
                "foo2": "false"
            }
        ],...

如果我不能,是否有另一种简单的方法将数据附加到 JSON 对象的中间?

javascript 中没有 "JSON object"。您有 Javascript objects/arrays、包含 "Java Script Object Notation".

的对象数组或字符串

您可以使用 JSON.stringify() 和 JSON.parse() 从一个到另一个。

"decision" 在您的示例中将在 JSON.parse() 解析 JSON 字符串后成为数组。 您可以使用其方法 splice() 将对象添加到数组的中间。

示例:

var jsonstring = '...'; 
var obj = JSON.parse(jsonstring);  
obj.decision.splice(1,0,{ "foo1": "true", "foo2": "false"});  
jsonstring = JSON.stringify($obj);