如何使用 json-query 更改匹配属性的值?

我使用json-query因为它可以让我通过 JSON 对象内的路径进行查找。

找到它后,我想用新值替换该值,并且我希望它会影响字符串,但事实并非如此。

有没有办法使用 json-query 来做到这一点?或者从对象再次重建此 JSON,但我在文档中找不到方法。

const jsonQuery = require("json-query");


var data = {

  people: [

    { name: "Matt", country: "NZ" },

    { name: "Pete", country: "AU" },

    { name: "Mikey", country: "NZ" }

  ]

};


const b = jsonQuery("people[country=NZ].name", {

  data: data

});


console.log({ b });


b.value = "bla";


console.log({ b }); // value === 'bla'


console.log({ data }); // value === 'Matt'

codesandbox.io


慕侠2389804
浏览 58回答 1
1回答

心有法竹

reference您可以修改查询返回的子属性中的条目:const b = jsonQuery("people[country=NZ].name", {  data: data});b.references[0].name = 'bla';
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript