Как определить структуру JSON для любого файла входящего потока в Nifi

Мне нужно определить структуру JSON для всех моих входящих файлов потока. У меня есть JSON, который похож на этот,

[
  {
    "user": "Tony",
    "dept": "Sales",
    "os": "linux"
  },
  {
    "user": "Smith",
    "os": "Windows",
    "dept": "Accounts"
  }
]

Я хочу, чтобы все мои файлы JSON имели единую структуру, отсортированную, например. на входе мои позиции поля различны для первого объекта и второго объекта. Во входных данных порядок, который мы видим,

{ "user" , "dept" , "os" } , { "user", "os", "dept" } 

Я хочу, чтобы мой вывод был

{ "user" , "dept" , "os" },  { "user" , "dept", "os" }

Нужна помощь в этом в Нифи

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

Ответы 1

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

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

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "user|dept|os": "[&1].&"
      }
    }
  }
]

демо на сайте http://jolt-demo.appspot.com/ есть

Спасибо @Barbaros Özhan за ваше решение, но я не хочу, чтобы все мои значения отображались в одно и то же поле (ключ). Я хочу, чтобы отдельные объекты возвращались в определенном формате, мне нужна помощь. Прошу прощения за путаницу в моем вопросе. Я хочу, чтобы JSON возвращался как этот { "user": "Tony", "dept": "Sales", "os": "linux" }, { "user": "Smith", "dept": "Accounts ", "ос": "Windows" }

Ram 10.04.2023 08:04

На входе мои позиции поля различны для первого объекта и второго объекта. На входе мы видим следующий порядок: {user, dept, os}, {user, os, dept} Я хочу, чтобы мой вывод был {user, dept, os}, {user, dept, os}

Ram 10.04.2023 09:12

@Ram, я только что отредактировал, можешь проверить?

Barbaros Özhan 10.04.2023 09:43

Спасибо @ Barbaros Özhan за этот метод, он отлично работает, и извините за задержку с ответом.

Ram 20.04.2023 16:21

@Ram, не могли бы вы пометить ответ как принятый, пожалуйста. Это помогло бы сообществу, а также автору ответа.

DataWrangler 20.04.2023 17:27

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