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号"
}
]
}
}
展开
 我来答
宝贝程珍
推荐于2016-03-30 · 超过22用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:49.4万
展开全部

你好,我试过了,这样能取到你要的结果:

用的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.
zjgzhengxian
2014-07-26 · TA获得超过1276个赞
知道小有建树答主
回答量:736
采纳率:100%
帮助的人:392万
展开全部

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处理的包也行,大同小异

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山势凤之来
2014-07-26 · 超过50用户采纳过TA的回答
知道答主
回答量:174
采纳率:0%
帮助的人:121万
展开全部
。。。。
500k得存N多数据了。中文至少有100W字了吧,你确认你需要那么多数据。
追问
啊?是在和我说。。。嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式