Java扁平化json文档

Java扁平化json文档,java,json,flatten,spagobi,Java,Json,Flatten,Spagobi,我是Java新手,正在寻找一种将json文档扁平化的方法 我尝试过对象映射器,但没有成功,我也尝试过使用json节点,但仍然没有成功 我找到了此链接,但结果不是我需要的: 我以前也得到过帮助,但示例太具体,我不能做同样的事情,因为文档太长。这就是为什么我要寻找一种方法使其通用: 我需要转换“任意”json文档,如以下示例所示: 下面是我的文档示例 收到的文件: { "took": 7, "timed_out": false, "_shards": { "total":

我是Java新手,正在寻找一种将json文档扁平化的方法

我尝试过对象映射器,但没有成功,我也尝试过使用json节点,但仍然没有成功

我找到了此链接,但结果不是我需要的:

我以前也得到过帮助,但示例太具体,我不能做同样的事情,因为文档太长。这就是为什么我要寻找一种方法使其通用:

我需要转换“任意”json文档,如以下示例所示:

下面是我的文档示例

收到的文件:

{ 
  "took": 7, 
  "timed_out": false, 
  "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
  }, 
  "hits": { 
    "total": 10, 
    "max_score": 0, 
    "hits": [] 
  }, 
  "aggregations": { 
    "groupe": { 
      "doc_count_error_upper_bound": 0, 
      "sum_other_doc_count": 0, 
      "buckets": [ 
        { 
          "key": "a", 
          "doc_count": 1, 
          "date": { 
            "buckets": [ 
              { 
                "key_as_string": "2017-05-03T00:00:00.000Z", 
                "key": 1493769600000, 
                "doc_count": 1, 
                "value": { 
                  "value": 1 
                } 
              }, 
              { 
                "key_as_string": "2017-05-03T01:00:00.000Z", 
                "key": 1493776800000, 
                "doc_count": 1, 
                "value": { 
                  "value": 3 
                } 
              } 
            ] 
          } 
        }, 
        { 
          "key": "b", 
          "doc_count": 4, 
          "date": { 
            "buckets": [ 
              { 
                "key_as_string": "2017-05-03T00:00:00.000Z", 
                "key": 1493769600000, 
                "doc_count": 1, 
                "value": { 
                  "value": 4 
                } 
              }, 
              { 
                "key_as_string": "2017-05-03T01:00:00.000Z", 
                "key": 1493773200000, 
                "doc_count": 1, 
                "value": { 
                  "value": 3 
                } 
              } 

            ] 
          } 
        } 
      ] 
    } 
  } 
} 
文件转换:

{ 
  "took": 7, 
  "timed_out": false, 
  "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
  }, 
  "hits": { 
    "total": 10, 
    "max_score": 0, 
    "hits": [] 
  }, 
  "aggregations": { 
    "groupe": { 
      "doc_count_error_upper_bound": 0, 
      "sum_other_doc_count": 0, 
      "buckets": [ 
        { 
          "key": "a", 
          "doc_count": 1, 
          "date": { 
            "buckets": [ 
              { 
                "key_as_string": "2017-05-03T00:00:00.000Z", 
                "key": 1493769600000, 
                "doc_count": 1, 
                "value": { 
                  "value": 1 
                } 
              } 
            ] 
          } 
        }, 
        { 
          "key": "a", 
          "doc_count": 1, 
          "date": { 
            "buckets": [ 
              { 
                "key_as_string": "2017-05-03T02:00:00.000Z", 
                "key": 1493776800000, 
                "doc_count": 1, 
                "value": { 
                  "value": 3 
                } 
              } 
            ] 
          } 
        }, 
        { 
          "key": "b", 
          "doc_count": 1, 
          "date": { 
            "buckets": [ 
              { 
                "key_as_string": "2017-05-03T02:00:00.000Z", 
                "key": 1493776800000, 
                "doc_count": 1, 
                "value": { 
                  "value": 4 
                } 
              } 
            ] 
          } 
        }, 

 "key": "b", 
          "doc_count": 1, 
          "date": { 
            "buckets": [ 
              { 
                "key_as_string": "2017-05-03T02:00:00.000Z", 
                "key": 1493776800000, 
                "doc_count": 1, 
                "value": { 
                  "value": 4 
                } 
              } 
            ] 
          } 
        } 


      ] 
    } 
  } 
}  

这不是重复你昨天的问题吗@LyubomyrShaydariv没有,因为前一个是一个例子,这次我想用它来表示任何jsondocuments@LyubomyrShaydariv如果您查看前面的示例,您将看到答案是specifique,例如文档,但是在这里,我们不能做同样的事情,因为文档太长,您的项目中允许使用什么JSON库?+您使用的是哪个Java版本?@LyubomyrShaydariv允许任何json,目前我使用的是json.org、simple json,我使用的是Java 8