簡體   English   中英

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

[英]How to change the value of matching property using json-query?

我使用json-query因為它讓我可以通過 JSON object 中的路徑找到。

找到它后,我想用新值替換該值,並且我希望它會影響字符串,但事實並非如此。

有沒有辦法使用 json-query 來做到這一點? 或從 object 再次重建此 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'

代碼框.io

您可以修改查詢返回的reference子屬性中的條目:

const b = jsonQuery("people[country=NZ].name", {
  data: data
});

b.references[0].name = 'bla';

請參閱概念驗證示例: https://codesandbox.io/s/wonderful-kirch-g7zy2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM