Android:如何使用GSON库解析JSON文件?
我有一个Method,它返回最强WiFi接入点的SSID。映射数据位于原始文件夹中的文件名“ssid_number.txt”中。如果最强的WiFi接入点“KD WLAN热点”是,我如何在使用GSON库的情况下解析此文件以获得数字4 我是用下一种方法做的 我从url中提取了JSON字符串。那么Android:如何使用GSON库解析JSON文件?,android,json,gson,Android,Json,Gson,我有一个Method,它返回最强WiFi接入点的SSID。映射数据位于原始文件夹中的文件名“ssid_number.txt”中。如果最强的WiFi接入点“KD WLAN热点”是,我如何在使用GSON库的情况下解析此文件以获得数字4 我是用下一种方法做的 我从url中提取了JSON字符串。那么 Gson gson = new Gson(); // create Gson obj currentResponse = gson.fromJson(resultJSON, City.class); c
Gson gson = new Gson(); // create Gson obj
currentResponse = gson.fromJson(resultJSON, City.class);
currentResponse是一个json.toString()
输出
接下来,使用json对应的所有字段为json输出创建新类。看看我的工作代码:
public class City {
@SerializedName("name")
public String cityName;
public String getCityName() {
return cityName;
}
}
在您的情况下,它将类似于:
public class WiFi {
@SerializedName("cafeWifi")
public int wiFiAmount;
public int getWiFiAmount() {
return wiFiAmount;
}
}
通过以下方法获取您的wifi数量:
WiFi wifi = new WiFi();
int a = wifi.getWiFiAmount();
为json响应创建POJO
public class JsonResponsePojo {
@SerializedName("KD Privat")
@Expose
private Integer KDPrivat;
@SerializedName("KD WLAN Hotspot")
@Expose
private Integer KDWLANHotspot;
@Expose
private Integer treeWifi;
@Expose
private Integer cafeWifi;
/**
*
* @return
* The KDPrivat
*/
public Integer getKDPrivat() {
return KDPrivat;
}
/**
*
* @param KDPrivat
* The KD Privat
*/
public void setKDPrivat(Integer KDPrivat) {
this.KDPrivat = KDPrivat;
}
/**
*
* @return
* The KDWLANHotspot
*/
public Integer getKDWLANHotspot() {
return KDWLANHotspot;
}
/**
*
* @param KDWLANHotspot
* The KD WLAN Hotspot
*/
public void setKDWLANHotspot(Integer KDWLANHotspot) {
this.KDWLANHotspot = KDWLANHotspot;
}
/**
*
* @return
* The treeWifi
*/
public Integer getTreeWifi() {
return treeWifi;
}
/**
*
* @param treeWifi
* The treeWifi
*/
public void setTreeWifi(Integer treeWifi) {
this.treeWifi = treeWifi;
}
/**
*
* @return
* The cafeWifi
*/
public Integer getCafeWifi() {
return cafeWifi;
}
/**
*
* @param cafeWifi
* The cafeWifi
*/
public void setCafeWifi(Integer cafeWifi) {
this.cafeWifi = cafeWifi;
}
}
阅读wifi-热点
Gson gson=new Gson();
JsonResponsePojo data=gson.fromJson(responseString, JsonResponsePojo.class);
String kdWLanHotSpot=data.getKDPrivat();
查看您的数据,您的标识符似乎不是常量 在这种情况下,如果您使用typemap,它将起作用。比如说:
HashMap<String, Integer> mMap = null;
Type type = new TypeToken<HashMap<String, Integer>>() {}.getType();
mMap = new Gson().fromJson(json, type);
HashMap mMap=null;
Type Type=new-TypeToken(){}.getType();
mMap=new Gson().fromJson(json,类型);
您尝试过什么?您的方法很简单,但需要太多的代码行。我有200多个WIFI接入点。但它怎么知道“原始”文件夹中的json文件是正确的呢?
HashMap<String, Integer> mMap = null;
Type type = new TypeToken<HashMap<String, Integer>>() {}.getType();
mMap = new Gson().fromJson(json, type);