#javascript
#javascript
Вопрос:
Я использую json-query, потому что он позволяет мне находить по пути внутри объекта JSON.
После того, как я нахожу его, я хочу заменить значение новым значением, и я ожидал, что это повлияет на строку, но это не так.
Есть ли способ сделать это с помощью json-запроса? или перестроить этот 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'
Ответ №1:
Вы можете изменить запись в reference
подсвойстве, возвращаемом запросом:
const b = jsonQuery("people[country=NZ].name", {
data: data
});
b.references[0].name = 'bla';
Смотрите Пример проверки концепции: https://codesandbox.io/s/wonderful-kirch-g7zy2