繁体   English   中英

从列表创建JSON数组 <Object> 在Java中

[英]Create JSON Array from List<Object> in Java

这是一个基本的Java问题,我认为我无法解决该问题。

我从Google Analytics(分析)API中获取数据,并将行作为JSONArray作为字符串存储在数据库中

[["New Zealand","Auckland","1640","8.795731707317072","516.4469512195122"],["New Zealand","Wellington","1314","8.428462709284627","580.3302891933029"]]

对于Google Maps,我需要一个JSON数组:

function drawMap() {
      var data = google.visualization.arrayToDataTable([
        ['City', 'Popularity'],
        ['New York', 200],
        ['Boston', 300],
        ['Miami', 400],
        ['Chicago', 500],
        ['Los Angeles', 600],
        ['Houston', 700]
      ]);

来自https://developers.google.com/chart/interactive/docs/gallery/geomap

我需要更改数据,方法是对其进行解析并对其进行迭代以从每个对象中删除第一个(即“新西兰”)和最后一个变量-我还需要添加标头,例如['City','Popularity']

使用GSonBuilder,我可以创建JSON

[{"city":"Wellington","sessions":"1314","viewsPerSessions":"8.428462709284627","avgDuration":"8.428462709284627"},{"city":"Christchurch","sessions":"432","viewsPerSessions":"10.127314814814815","avgDuration":"10.127314814814815"}]

如何将其转换为JSON数组?

我使用Android的JSON解析。 有了这个,您可以得到想要的东西。

尝试这个:

JSONArray js_data = [["New Zealand","Auckland","1640","8.795731707317072","516.4469512195122"],["New Zealand","Wellington","1314","8.428462709284627","580.3302891933029"]];
int lenght = js_data.length();
JSONArray city;
for(int i=0;i<length;i++) {
    //get each city
    city = js_data.getJSONArray(i);
    String nameCity = city.getString(0);
    String pop = city.getString(4);
    //Create a object JSON or whatever you want with this data
    JSONArray js_array = new JSONArray();       
    js_array.put(city); js_array.put(pop);
    //And put on a list
    js_map.put(js_array);
}

这是基本的Java编码。 希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM