如何从nifi对象的json array []中提取json?

nnt7mjpx  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(250)

嵌套数组:

[
  {
    "id": 1,
    "key_word": "бережливое производство\nканбан\nсокращение потерь"
  },
  {
    "id": 2,
    "key_word": ""
  },
  {
    "id": 3,
    "key_word": "healthy\nlearners\nlectures\nphysical education\nphysical fitness\nздоровье\nлекции\nобучающиеся\nфизическая культура\nфизическая подготовленность"
  },
  {
    "id": 4,
    "key_word": "collective\nefficiency\ngroup\njoint activity\npsychological\nsocial\nsocial cohesion\nгруппа\nколлектив\nпсихологический\nсовместная деятельность\nсоциальная сплоченность\nсоциальный\nэффективность"
  }
]

字符串
如何将此数组划分为单独流文件,例如:

{
  "id" : 1,
  "key_word" : "бережливое производство\nканбан\nсокращение потерь"
}
-----------------------------------------------
{
  "id" : 2,
  "key_word" : ""
}
----------------------------------------------


我使用EvaluateJsonPath和参数JSONPath = $.*,我使用SplitJson和参数JsonPath表达式= $.*$不工作

[
  {
    "id": 1,
    "key_word": "бережливое производство\nканбан\nсокращение потерь"
  },
  {
    "id": 2,
    "key_word": ""
  },
  {
    "id": 3,
    "key_word": "healthy\nlearners\nlectures\nphysical education\nphysical fitness\nздоровье\nлекции\nобучающиеся\nфизическая культура\nфизическая подготовленность"
  },
  {
    "id": 4,
    "key_word": "collective\nefficiency\ngroup\njoint activity\npsychological\nsocial\nsocial cohesion\nгруппа\nколлектив\nпсихологический\nсовместная деятельность\nсоциальная сплоченность\nсоциальный\nэффективность"
  }
]

r7xajy2e

r7xajy2e1#

您需要使用SplitJson并将属性JsonPath Expression应用于$.*
这将把单个大数组拆分为多个JSON(在本例中为4个文件片段)


的数据



你可以看到,JSON数组的单个输入有4个输出

djmepvbi

djmepvbi2#

我建议在任何基于记录的处理器中使用JsonRecordReader和JsonRecordWriter。这是拆分的首选方法。这还允许您控制上游模式和下游模式,以及对这些记录应用类似SQL的查询。

相关问题