评论

收藏

[Android] 通过JSON处理网络信息

移动开发 移动开发 发布于:2022-09-06 12:52 | 阅读数:301 | 评论:0

在build.gradle中引用如下
dependencies{
implementation 'net.sf.json-lib:json-lib:2.2.3:jdk15'
  //json object
  implementation 'commons-beanutils:commons-beanutils:1.9.3'
  implementation 'commons-collections:commons-collections:3.2.1'
  implementation 'commons-lang:commons-lang:2.6'
  implementation 'net.sf.ezmorph:ezmorph:1.0.6'
}
通过Map的键值映射保存信息
private Map<String, Object> getTodayWeather(String datas) {
  //datas为从Web端获取的String
  Map<String, Object> map = new HashMap<String, Object>();
  JSONObject jsonData = JSONObject.fromObject(datas);
  //将String转换为jsonData
  JSONObject info = jsonData.getJSONObject("data");
  //获取名为data的数据块
  JSONObject ObserveInfo = info.getJSONObject("observe");
  //获取data数据块内部的observe数据块
  map.put("Degree", ObserveInfo.getString("degree").toString());
  //获取键值为degree的数据,并保存在Map中(键值为"Degree")
  return map;
}
通过Map获取信息
String text = responseText;
 Map<String,Object> map = getTodayWeather(text);
//处理获取的信息
 String DegreeText=(map2.get("Degree") + "℃" );
//通过Map得到数据