
android怎么解析json文件
比如json返回如下的内容,想要提取出120.72577772352和31.296529947917以及江苏省苏州市吴中区金鸡湖大道368号分别为string类型,应该怎...
比如json返回如下的内容,想要提取出120.72577772352和31.296529947917以及江苏省苏州市吴中区金鸡湖大道368号分别为string类型,应该怎样提取呢?
{
"resultcode":"200",
"reason":"Return Successd!",
"result":{
"data":[
{
"MCC":"460",
"MNC":"1",
"LNG":"120.721423",
"LAT":"31.29854",
"O_LNG":"120.72577772352",
"O_LAT":"31.296529947917",
"PRECISION":"1101",
"ADDRESS":"江苏省苏州市吴中区金鸡湖大道368号"
}
]
}
} 展开
{
"resultcode":"200",
"reason":"Return Successd!",
"result":{
"data":[
{
"MCC":"460",
"MNC":"1",
"LNG":"120.721423",
"LAT":"31.29854",
"O_LNG":"120.72577772352",
"O_LAT":"31.296529947917",
"PRECISION":"1101",
"ADDRESS":"江苏省苏州市吴中区金鸡湖大道368号"
}
]
}
} 展开
3个回答
展开全部
你好,我试过了,这样能取到你要的结果:
用的gson-2.2.4.jar包,你应该有吧,没有百度搜下去下个就好了。
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class MyTest {
public static void main(String[] args) {
String json = "{'resultcode':'200','reason':'ReturnSuccessd!','result':{'data':[{'MCC':'460','MNC':'1','LNG':'120.721423','LAT':'31.29854','O_LNG':'120.72577772352','O_LAT':'31.296529947917','PRECISION':'1101','ADDRESS':'江苏省苏州市吴中区金鸡湖大道368号'}]}}";
JsonParser jsonParser = new JsonParser();
JsonObject jsonObj = jsonParser.parse(json).getAsJsonObject();
JsonObject result = jsonObj.get("result").getAsJsonObject();
JsonArray data = result.get("data").getAsJsonArray();
String O_LNG = data.get(0).getAsJsonObject().get("O_LNG").getAsString();
String O_LAT = data.get(0).getAsJsonObject().get("O_LAT").getAsString();
String ADDRESS = data.get(0).getAsJsonObject().get("ADDRESS").getAsString();
System.out.println(O_LNG);
System.out.println(O_LAT);
System.out.println(ADDRESS);
}
}
更多追问追答
追问
JsonObject jresult = json.get("result").getAsJsonObject();这句话报错啊,错误:没有为类型 Object 定义方法 getAsJsonObject()
追答
不会啊,我这边运行很正常的啊
你先把我的程序原封不动的运行看看可以不?
不是json.,是jsonObj.
展开全部
android 下有自带的对json字符串处理的包的,都在org.json包下
//注意要抛出异常,用try,catch或直接抛异常
JSONObject object=new JSONObject(result);
//获取resultcode对象,其它类推
String resultcode=object.getString("resultcode");
//获取data列表
JSONArray array=object.getJSONArray("data");
for(int i=0;i<array.length;i++){
//获取列表第i个json对象
JSONObject obj=array.get(i);
//获取经度、维度
String longitude=obj.getString("O_LNG");
String latitude=obj.getString("O_LAT");
}
当然,你用其它的json处理的包也行,大同小异
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。。。
500k得存N多数据了。中文至少有100W字了吧,你确认你需要那么多数据。
500k得存N多数据了。中文至少有100W字了吧,你确认你需要那么多数据。
追问
啊?是在和我说。。。嘛?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询