Talend DB в файл JSON OutPut

Я застрял в одной работе Talend. Я использую Talend для переноса полей БД в файл JSON.

Я успешно могу выполнить эту работу, но формат JSON, который я получаю, - это формат массива, а не настраиваемый формат, такой как поля адреса, не подпадающий под родительские дочерние отношения.

В своей работе я читаю данные из файла, сохраняю их в БД и затем генерирую файл JSON.

Текущий вывод JSON:

[ 
  { 
    "name":"test", 
    "age":"21", 
    "phone":"12345678", 
    "city":"india", 
    "state":India", 
    "country":"India" 
  } 
] 

Желаемый вывод JSON:

[
  {
    "profile": { 
        "name":"test", 
        "age":"21", 
        "phone":"12345678", 
    },
    "address": { 
        "city":"india", 
        "state":"India", 
        "country":"India" 
    }
  }
] 

Есть две проблемы с моей работой:

  • Индивидуальный формат JSON
  • Количество строк в файле

Может кто-нибудь, пожалуйста, помогите мне в этом.

1 ответ

tFileOutputJSON кажется немного негибким, когда дело доходит до структурирования вывода JSON.

Вместо этого возьмем компонент tWriteJSONField. В этом компоненте вам нужна схема ввода, например:

  • профиль (будет пустым)
  • название
  • возраст
  • Телефон
  • адрес (будет пустым)
  • город
  • государство
  • страна

Теперь сначала установите выходной столбец. Выберите Удалить корневой узел. Затем настройте дерево JSON следующим образом:

Страница конфигурации дерева JSON tWriteJSONField

Вот мой вывод (я взял данные вашего примера):

{
    "profile": {
        "name": "test",
        "age": "21",
        "phone": "123456789"
    },
    "address": {
        "city": "india",
        "state": "India",
        "country": "India"
    }
}

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

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