我有一个方法,它返回最强WiFi访问点的SSID。映射的Tha数据位于原始文件夹中的文件名“ssid_number.txt”中。如果最强的WiFi接入点“KD无线局域网热点”是“KD无线局域网热点”,我如何用GSON库解析这个文件以获得数字4?
{
"KD Privat": 1,
"KD WLAN Hotspot": 4,
"treeWifi": 9,
"cafeWifi": 5 //I have here more that 200 WIFI access point
}发布于 2015-04-14 12:58:39
我是从下一条路来的。
我从一个url中提取了JSON字符串。然后,
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();发布于 2015-04-14 13:08:18
从您的数据来看,您的标识符似乎不是固定的。
在这种情况下,如果您使用类型地图,它就会工作。所以就像这样:
HashMap<String, Integer> mMap = null;
Type type = new TypeToken<HashMap<String, Integer>>() {}.getType();
mMap = new Gson().fromJson(json, type);发布于 2015-04-14 13:03:26
为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 -HotSpot
Gson gson=new Gson();
JsonResponsePojo data=gson.fromJson(responseString, JsonResponsePojo.class);
String kdWLanHotSpot=data.getKDPrivat();https://stackoverflow.com/questions/29627622
复制相似问题