javascript - 如何使用 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'
解决方案
您可以修改reference
查询返回的子属性中的条目:
const b = jsonQuery("people[country=NZ].name", {
data: data
});
b.references[0].name = 'bla';
推荐阅读
- flutter - 如果文本在 Flutter 中被软包装,如何缩进
- c++ - 如何以编程方式打印 ESCPOS 收据?
- machine-learning - Dialogflow - 具有不同参考值和相似同义词的实体
- c# - System.DllNotFoundException:/system/lib/libsqlite.so- Xamarin Forms
- r - 找到数据框中变量更改其值的位置
- sql-server - 由于数据移动而无法找到书签
- charts - 如何用 Chart.js 实现这种热图/条形图
- tensorflow - TF_SessionRun 中的内存重新分配
- javascript - 具体日期或假期实现
- nuget - .net Standard 2.0 项目中的 Nugets 包未显示在 TeamCity 的 NuGet 包选项卡中