json使用

本篇三种解析的对象为json数组

JsonObject

private void parseJSON(String result) {
	try {
		JSONArray jsonArray = new JSONArray(result);
		for (int i = 0; i <= jsonArray.length(); i++) {
			JSONObject obj = jsonArray.getJSONObject(i);

			String id = obj.optString("id");
			String name = obj.optString("name");
			String age = obj.optString("age");

			Log.d("jsonresult", id + "::" + name + "::" + age);
		}
	} catch (JSONException e) {
		e.printStackTrace();
	}
}

解析结果,与后面的gson和fastjson解析结果相同
JSON的解析结果

gson

这是Google提供的方法:gson2.3.1包下载包
只需先创建好javabean,然后一行fromJson传入即可

private void gsonParseJson(String result) {
	List<Person> persons= new ArrayList<Person>();
	Gson gson = new Gson();
	// Person persons= gson.fromJson(result, Person.class); // 针对非数组情况

	persons= gson.fromJson(result, new TypeToken<List<Person>>() {}.getType());
	for (Person person : persons) {
		String id = person.getId();
		String name = person.getName();
		String age = person.getAge();
		Log.d("jsonresult", id + "::" + name + "::" + age);
	}
}

fastjson

/**
 * fastjson
 *      example     compile 'com.alibaba:fastjson:1.2.38'
 *
 *      github      https://github.com/alibaba/fastjson
 */
public class JsonT {

    /**
     * object --> json
     */
    public static String toJson(Object obj) {

        if (null == obj)
            return "obj == null, plz check param obj";

        String json = JSON.toJSONString(obj);
        if (null != json && !"".equals(json)) {
            return json;
        } else {
            return "";
        }
    }


    /**
     * json --> object
     */
    public static <T> T toObj(String json, Class<T> clz) {

        if (null == json)
            throw new RuntimeException("return json is null");

        return JSON.parseObject(json, clz);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值