NiFi通过JsonPathReader或JsonTreeReader

问题描述

我正在尝试将JSON文件转换为CSV,但这样做似乎没有任何运气。我的JSON看起来像这样: ... {

{"meta": {
    "contentType": "Response"
},"content": {
    "data": {
        "_type": "ObjectList","erpDataObjects": [
            {
                "meta": {
                    "lastModified": "2020-08-10T08:37:21.000+0000",},"head": {
                    "fields": {
                        "number": {
                            "value": "1","id": {
                            "value": "10000"
                        },}
                }
            {
                "meta": {
                    "lastModified": "2020-08-10T08:37:21.000+0000","head": {
                    "fields": {
                        "number": {
                            "value": "2","id": {
                            "value": "10001"
                        },"head": {
                .. much more data

我基本上希望我的csv看起来像这样:

number,id
1,10000
2,10001

我的流程如下:

GetFile->设置输出文件名-> ConvertRecord-> UpdateAttribute-> PutFile

ConvertRecord使用JsonTreeReader和CSVRecordSetWriter JsonTreeReader CsvRecordSetWriter。 他们都调用一个如下的AvroSchemaRegistry: AvroSchemaRegistry AvroSchema本身如下所示:

{
   "type": "record","name": "head","fields":
   [
      {"name": "number","type": ["string"]},{"name": "id",]
}

但是我只能得到以下输出:

number,id,

这很有意义,因为我没有具体指出这些值的位置。我以前改用了JsonPathReader,但它看起来像这样: JsonPathReader 哪一个笨拙给了我一张唱片。我不太确定如何配置两者中的任何一个以输出我想要的东西。帮助将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)