обновить вложенные поля в json, используя частичное обновление или запросы на обновление - PullRequest
0 голосов
/ 07 сентября 2018

Я использую эластичный поиск, я хочу обновить определенные поля в json, используя определенный ключ, в моем случае это macid, json выглядит следующим образом

{
    macid:"mac1234",
    attri:
        {
            data:{

                ch1:12,
                ch2:123
            },
            settings:
                {
                    log_time:1min

                }


        }

}

и я хочу обновить данные, поле настроек с соответствующим macid, а также их будет несколько записей

1 Ответ

0 голосов
/ 07 сентября 2018

В вашем JSON есть ошибки, я думаю, вам следует заключать строки в кавычки.

Хорошим решением вашей проблемы является преобразование JSON в объект, а затем преобразование объекта обратно в файл JSON.

JSON.parse (Json) преобразует jSON в объект, в то время как

JSON.stringify преобразует объект обратно в JSON

вот исправление JavaScript:

var  jsonT = '{"macid":"mac1234","attri":{"data":{"ch1":12,"ch2":123},"settings":{"log_time":"1min"}}}'

var f = JSON.parse(jsonT);
f.attri.data.ch1 = "hi"

jsonT = JSON.stringify(f);
console.log(jsonT);

Есть и другие способы сделать это, а затем экспортировать в файл .json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...