如何将JSON对象向上移动一级

时间:2016-10-19 16:48:47

标签: arrays json data-structures gson

我有一个来自谷歌分析的json字符串,如下所示。我的要求是在命中数组的级别上移动“页面”对象。基本上,“页面”将类似于“命中”作为与“命中”相同级别的数组。

{  
  "hits":[  
  {  
     "hitNumber":"1",
     "time":"0",
     "hour":"10",
     "minute":"29",
     "isInteraction":true,
     "page":{  
        "pagePath":"www.scotiabank.com/ca/en/0,,2,00.html",
        "hostname":"www.scotiabank.com",
        "pageTitle":"Personal Banking | Scotiabank"
     }         
      }
   ],
   "fullVisitorId":"65778887038843"
}

请帮助。感谢

1 个答案:

答案 0 :(得分:0)

您必须进行一些编程才能重构json文档。这看起来像是将json文档中的某个元素更改为同一文档中的其他元素的常见业务案例。

实现这一目标并不容易实现解串器。我刚刚在Oson library中实现了一个函数。如果您只想要Gson解决方案,请忽略此答案。

String json = OsonConvert.changeTo(json, "hits.page", "pages");

注意:json是你的Json文档, “hits.page”是元素的原始点路径, “pages”是您要用于该元素数据的新属性(如果找到多个值,则新值将为数组)