[英]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.