Nifi JOLT将字符串分隔成不同的元素和子元素

问题描述

{"books": {
"Harry Potter": {
   "text": "There are several harry potter books:/n-ChAmber of Secrets/n--chess/n--dog/n-Goblet of Fire/n--dragon/n--broomstick "
}

}

上面的JSON对象。我想将文本字段转换为以下内容

There are several harry potter books:
-ChAmber of Secrets
  --chess
  --dog
-Goblet of Fire
  --dragon
  --broomstick

您会看到有一个标题,两个主题和两个子主题 我想将每个对象分成以下类型的JSON对象

{"books": {
"Harry Potter": {
   "subject": "There are several harry potter books:","book 1" : { 
        "title": "-ChAmber of Secrets","Contents 1" : "--chess","Contents 2" : "--dog"},"book 2" : { 
             "title":"-Goblet of Fire","Contents 1" : "--dragon","Contents 2" : "--broomstick"}
}
}}

理想情况下,我希望能够动态地执行此操作。不同数量的书籍和书籍中的内容。我正在使用NiFi JOLT Transform对该规范的任何帮助将不胜感激

解决方法

我不确定JOLT是否具有能够动态执行此操作的功能,对于NiFi,您可能正在寻找脚本解决方案(例如,具有Groovy的ExecuteScript)。