我在解析服务器和Android设备之间发送的JSONObject时遇到问题。JSONObject为什么getString在这里没有任何价值?
它看起来像这样:
{ “项”:[{ “值”: “100”, “经度”: “11.584565599030755”, “纬度”: “48.25420604757366”, “类型” : “计时器”},{ “值”: “50”, “经度”: “11.695457342867675”, “纬度”: “48.34626913462275”, “类型”: “罕见”},{ “值”: “1”,”经度 “:” 11.6782003186674" , “纬度”: “48.33575480986649”, “类型”: “正常”},{ “值”: “1”, “经度”: “11.707280558203376”, “纬度”: “48.19109880886268”,”类型“:”normal“}], ”locations“:[{”username“:”babine“,”gender“:”female“,”longitude“:”11.670796394348145“,”latitude“:”48.26356506347656“}] }
这是我的设备实际上从服务器接收到的内容。 现在拆分这件事是这样的:
JSONArray locations= json.getJSONArray("locations");
List<JSONObject> list = new ArrayList<JSONObject>();
for (int i= 0; i < locations.length(); i++) {
list.add(locations.getJSONObject(i));
}
LocationEvent.players = list;
JSONArray items = json.getJSONArray("items");
list.clear();
for (int i= 0; i < items.length(); i++){
list.add(items.getJSONObject(i));
}
Item.items = list;
凡Item.items和LocationEvent.players从类型:
列表< \的JSONObject>
后,我创造了叠加每个列表项目如下:
players.clear();
for(JSONObject player: LocationEvent.getAllPlayers()){
UserOverlay user = new UserOverlay(game, player.getString("username"), player.getString("gender"), Double.valueOf(player.getString("latitude")), Double.valueOf(player.getString("longitude")));
players.add(user);
}
items.clear();
for(JSONObject item : Item.getAllItems()){
ItemOverlay itemOv = new ItemOverlay(game, type, Double.valueOf(item.getString("longitude")), Double.valueOf(item.getString("latitude")));
items.add(itemOv);
}
这里是其中JSONException发生:
org.json.JSONException:用户名
没有价值,我不太清楚我在做什么错在这里...也许你们能帮助我出去了。如果您需要更多信息,请告诉我。由于
哦..我没有意识到这并不复制整个列表。但现在它总是有意义的。非常感谢。我会尽快回答你的回答是否正确。 – puelo