android中这样的JSON数据应该如何解析,

2025-03-01 18:32:26
推荐回答(4个)
回答1:

//json我的理解就是一系列键值对,只要KEY值对了,对应数据格式也对了,那就可以了!~
JsonObject j = ...//此处是获取json的方法,自定
boolean b = j.getBoolean("result");//取出“result”对应的值,这里的结果应该
//是"true";
JsonArray ja = j.getJsonArray("asks");//取出“asks”对应的值,因为asks对应的值
//中含有方括号,所以这是JsonArray型数据,需要取出进一步解析;JsonArray可以与数组
//进行比较理解,我个人是这样的,供参考
for(int i = 0; i < ja.length(); i++){
    
    JsonArray ja1 = ja.getJsonArray(i);//获取ja中的第一个元素,因为这个元素
    //也是jsonArray,所以可以再进一步解析
    double d1 = ja1.getDouble(0);//jsonArray中没有getFloat()这个方法
    //,自行转型就可以了
    double d2 = ja1.getDouble(1);//

}

 以上,希望对你有所帮助

回答2:

{"result":"true","asks":[[4168.33,0.06],[4160,0.4982],[4152,0.4401]...}
这个json不是标准的json格式,asks本身是一个数组,里面嵌套多个二维数组,就需要分层处理。
1.先把整体转换成json object。
2、从1中取出asks这个数组,jsonArray
3、循环处理里面的子数组。

回答3:

boolean b = j.getBoolean("result");
JSONObject j = new JSONObject(s);
JSONArray a = j.getJSONArray("asks");
JSONArray a1 = a.getJSONArray(0);

回答4:

这个你应该问问服务器端asks里面的数据可不可以以键值对的方式返回