Knime JSON transformer - Добавление атрибута к объекту JSON - PullRequest
0 голосов
/ 11 марта 2020

Я преобразовал некоторые столбцы в JSON, используя узел columns to json. Вывод этого:

{
  "Material" : 101,
  "UOM" : "GRAM",
  "EAN" : 7698,
  "Description" : "CHALK BOX"
}

Я хотел бы добавить значение свойства material в качестве ключа к каждому JSON объекту. Итак, мой желаемый вывод:

"101":    {
      "Material" : 101,
      "UOM" : "GRAM",
      "EAN" : 7698,
      "Description" : "CHALK BOX"
    }

Я попытался ввести следующее выражение в узле JSON transformer, но все, что я получил, это вопросительный знак в новом столбце, который он генерирует:

$Material$:{"Material":$Material$,"UOM":$UOM$,"EAN":$EAN$,"Description":$Description$}

Я также пытался заменить $Material$ на «Материал», но получил тот же результат.

Как бы я go об этом, пожалуйста?

Ответы [ 2 ]

1 голос
/ 13 марта 2020

Наконец мне удалось решить эту проблему другим методом.

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

Спасибо за все ваши советы и комментарии!

1 голос
/ 11 марта 2020

Если вы преобразуете столбец Material в String (например, с String Manipulator), вы можете легко настроить Columns to JSON:

Columns to JSON with Data bound key for String Material and not including that

Как видите, Data bound key является важной частью.

Конфигурация узла String Manipulator (string($Material$)):

string($Material$)

...