开发者社区> 问答> 正文

json数据怎么解析的

json数据怎么解析的

展开
收起
云计算小粉 2018-05-10 20:00:09 1498 0
1 条回答
写回答
取消 提交回答
  • 阿里云ping https://ping.gaomeluo.com/aliyun/

    第一种 使用自带的JsonArray 解析,代码如下:

    //通过自带的JsonArray

    public List<Person> getListPersonByArray(String jsonString){
        List<Person> personList=new ArrayList<Person>();
        
        try {
            JSONArray jsonArray=new JSONArray(json);
            Log.e("ceshi", jsonArray.length()+"长度");
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject= (JSONObject) jsonArray.get(i);
                personList.add(new Person(jsonObject.optInt("id"), jsonObject.optString("name"), jsonObject.optInt("age")));
            }
            return personList;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
    

    第二种 使用Gson解析,代码如下:
    //通过Gson解析

    public  List<Person> getListPersonByGson(String jsonString) {
        List<Person> list = new ArrayList<Person>();
        Gson gson = new Gson();
        list = gson.fromJson(jsonString, new TypeToken<List<Person>>() {
        }.getType());
        return list;
    }

    Activity中onCreate中的代码:
    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    // List list=getListPersonByGson(json);

        List<Person> list=getListPersonByArray(json);
        for (int i = 0; i < list.size(); i++) {
            Log.e("ceshi", list.get(i).getName());
        }
    }
    

    ps:来源网络

    2019-07-17 22:10:55
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像