Преобразуйте файл JSON, чтобы добавить ключи к значениям массива

Я использую Apache NiFi и получаю от встроенного микро через сокет TCP/IP файл JSON в форме:

{ "идентификатор": 123456, "ip": "192.168.1.1", «т»: -12,9, «Т»: -23,8, "переменные": [ "пользователь1", 0, -12,97, 23,87 ] }

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

{ "идентификатор": 123456, "ip": "192.168.1.1", «т»: -12,9, «Т»: -23,8, "переменные": [ "имя пользователя": "user1", "действительный": 0, "температура 1": -12,97, "температура 2": 23,87 ] }

а затем иметь доступ к паре ключ-значение, такой как variable.username.

Я пытался использовать JoltTransformJSON, но не знаю, как правильно написать спецификацию, если она может это сделать!! Я написал следующую спецификацию толчка:

[ { "операция": "смена", "спецификация": { "я сделал", "ай-пи": "ай-пи", "т": "т", «Т»: «Т», "переменные": { "имя пользователя": "", "действительный": "", "температура 1": "", "температура 2": "" } } } ]

Я также пытался использовать UpdateRecord с Record Reader/Writer, но передача правильной схемы вызывает ошибку в первой переменной, поскольку она не может сопоставить «user1» с ключом из исходного JSON.

проверить процессор JoltTransformJson

daggett 07.04.2019 13:16

Пробовали использовать процессор JoltTransformJson, но не смогли заставить его работать. Даже пытался использовать jolt-demo.appspot.com. Я также пытался использовать UpdateRecord с Record Reader/Writer, но передача правильной схемы вызывает ошибку в первой переменной.

Jerry Pylarinos 07.04.2019 13:23

пожалуйста, отредактируйте свой вопрос и предоставьте свою встряску, тогда, возможно, кто-нибудь поможет вам с этим. также добавьте тег jolt/

daggett 07.04.2019 13:28
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
3
279
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне удалось разработать Jolt Spec следующим образом:

[ { "операция": "смена", "спецификация": { "я сделал", "ай-пи": "ай-пи", "т": "т", «Т»: «Т», "переменные": { "0": "имя пользователя", "1": "действительный", "2": "температура 1", "3": "температура 2" } } } ]

Спасибо даггетт за ваш вклад.

Другие вопросы по теме