Мне нужно определить структуру 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" }
Нужна помощь в этом в Нифи
Вы можете использовать спецификацию преобразования сдвига, отдельно написав каждый атрибут, чтобы отсортировать их по желанию, например
[
{
"operation": "shift",
"spec": {
"*": {
"user|dept|os": "[&1].&"
}
}
}
]
демо на сайте http://jolt-demo.appspot.com/ есть
На входе мои позиции поля различны для первого объекта и второго объекта. На входе мы видим следующий порядок: {user, dept, os}, {user, os, dept} Я хочу, чтобы мой вывод был {user, dept, os}, {user, dept, os}
@Ram, я только что отредактировал, можешь проверить?
Спасибо @ Barbaros Özhan за этот метод, он отлично работает, и извините за задержку с ответом.
@Ram, не могли бы вы пометить ответ как принятый, пожалуйста. Это помогло бы сообществу, а также автору ответа.
Спасибо @Barbaros Özhan за ваше решение, но я не хочу, чтобы все мои значения отображались в одно и то же поле (ключ). Я хочу, чтобы отдельные объекты возвращались в определенном формате, мне нужна помощь. Прошу прощения за путаницу в моем вопросе. Я хочу, чтобы JSON возвращался как этот { "user": "Tony", "dept": "Sales", "os": "linux" }, { "user": "Smith", "dept": "Accounts ", "ос": "Windows" }