1. 解析:{\"flag\":\"true\",\"value\":[{\"id\":1,\"type\":\"temp\",\"value\":30}]}
public static Map<String, Object> parseJsonMap(String data) {
Map<String, Object> allMap = new HashMap<String, Object>();
try {
JSONObject allData = new JSONObject(data);
allMap.put("flag", allData.getBoolean("flag"));
JSONArray array = allData.getJSONArray("value");
List<Map<String, Object>> all = new ArrayList<Map<String, Object>>();
for (int i = 0; i < array.length(); i++) {
Map<String, Object> map = new HashMap<String, Object>();
JSONObject jsonObj = array.getJSONObject(i);
map.put("type", jsonObj.getString("type"));
map.put("value", jsonObj.getString("value"));
all.add(map);
}
allMap.put("value", all);
} catch (Exception e) {
e.printStackTrace();
}
return allMap;
}
2.应用解析:
Map<String, Object> result = ConnectionInternet.parseJsonMap(path);
Object flag = result.get("flag");
@SuppressWarnings("unchecked")
List<Map<String, Object>> all = (List<Map<String, Object>>) result.get("value");
if (all != null) {
for (Map<String, Object> list : all) {
android.util.Log.d("mark", "id=" + list.get("id") + "type=" + list.get("type")); // 测试输出
if (list.get("type").equals("temp")) {
Message msg = new Message();
msg.obj = list.get("value");
msg.what = 1;
myHandler.sendMessage(msg);
} else if (list.get("type").equals("fire")) {
Message msg = new Message();
msg.obj = list.get("value");
msg.what = 2;
myHandler.sendMessage(msg);
} else if (list.get("type").equals("rain")) {
Message msg = new Message();
msg.obj = list.get("value");
msg.what = 3;
myHandler.sendMessage(msg);
}
}
}
android 解析Json格式的数据(二)
最新推荐文章于 2024-09-11 08:40:34 发布