这是一个基本的Java问题,我认为我无法解决如何解决问题。
我从Google AnalyticsAPI获取数据并将数据库中的行作为字符串存储为JSONArray
[["New Zealand","Auckland","1640","8.795731707317072","516.4469512195122"],["New Zealand","Wellington","1314","8.428462709284627","580.3302891933029"]]
对于谷歌地图,我需要一个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
我需要更改我的数据,通过解析并迭代它来删除第一个(即" New Zealand")和每个对象的最后一个变量 - 我还需要添加标题,即[& #39;城市','受欢迎程度']
使用GSonBuilder我可以创建JSON
[{"city":"Wellington","sessions":"1314","viewsPerSessions":"8.428462709284627","avgDuration":"8.428462709284627"},{"city":"Christchurch","sessions":"432","viewsPerSessions":"10.127314814814815","avgDuration":"10.127314814814815"}]
如何将其转换为JSON数组?
答案 0 :(得分:1)
我使用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编码。 希望它有所帮助。