json解析的常用方式(不使用第三方库)

  解析json数据有很多种方法,可以使用官方提供的JSONObject,也可以使用谷歌的开源库GSON,另外,一些第三方的开源库如Jackson,FastJSON等也非常不错。接下来主要学习前两种解析方式的用法。

JSONObject

json数据:
[{"id":"5", "version":"2.1", "name":"c book"},
 {"id":"6", "version":"3", "name":"java"},
 {"id":"8", "version":"4.0", "name":"android"}]

private void parseJsonWithJSONObject(String jsonData){
        try {
            JSONArray jsonArray = new JSONArray(jsonData);
            for (int i = 0; i < jsonArray.length(); i++){
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                String id = jsonObject.getString("id");
                String name = jsonObject.getString("name");
                String version = jsonObject.getString("version");
                Log.d("jsonInfo", "id:" + id + ", name:" + name + ", version:" + version);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

GSON
添加gson库:compile 'com.google.code.gson:gson:2.7'
JSON格式数据:{"name" : "Tom", "age" : 20}

定义一个Person类,并加入name和age两个字段,然后通过以下方式将JSON数据解析成一个Person对象:

Gson gson = new Gson();
Person person = gson.fromJson(jsonData, Person.class);

如果是一段JSON数组,可以借助TypeToken将其解析成一个Person集合:

List<Person> persons = gson.fromJson(jsonData, new TypeToken<List<Person>>(){}.getType());
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打不死的迪仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值