注:菜鸟阶段时曾写过一个json解析方法,硬生生是用各种split方法解析出来的结果,其后不久学到了新知识org.json.JSONObject,方便实用,其实也就是封装好的一个解析方法。多的不说,老规矩,直接贴代码,本例子是含json数组,基础的josn格式数据只需JSONObject就可解出,可以自行敲敲摸索下。
result字符串data为:
{"btss":[["gsm","460-1-7122-42151","114.267075","30.468204","1400"],["gsm","460-0-28707-54076","114.265625","30.466845","1000"],["gsm","460-0-28707-54075","114.274910","30.465084","2000"],["gsm","460-0-28941-35565","114.264503","30.463678","900"],["gsm","460-0-28707-43525","114.277802","30.467346","2000"],["gsm","460-0-28707-43526","114.271317","30.468971","1000"],["gsm","460-0-28707-43524","114.276787","30.467686","1100"],["gsm","460-0-28941-5501","114.276138","30.453548","2200"],["gsm","460-0-28707-11905","114.265739","30.470036","1100"],["gsm","460-0-28973-17742","114.280411","30.466528","2000"]],"error":0,"message":""}
解析方法:
try {
JSONObject json = new JSONObject(result);
if (json.has("btss")) {
JSONArray arr = JSONArray.fromObject(json.get("btss").toString());
for (Object o : arr) {
JSONArray a = (JSONArray) o;
double[] latlng_ = {Double.parseDouble(a.get(2).toString().trim()),Double.parseDouble(a.get(3).toString().trim())};
if (latlng_ != null) {
addBts_NewMap(a.get(0).toString(), 0, a.get(1).toString(), latlng_[0] + "",
latlng_[1] + "", a.get(4).toString());
}
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}