Android开发 Java解析Json字符串

Android 开发 Java解析Json字符串

@author Gust
@Date 2016-07-17

介绍

  Android 开发请求服务器,得到了自己想要的数据,然而却是Json 格式的,并不能直接拿来使用,百度,查阅资料,还有在朋友的帮助下,学会了怎么用Java 处理Json 字符串。如果是Android 开发的话,好像不需要导入jar 包(我的Android Studio 里可以直接用),Java 需要导入一个叫 json.org.jar

代码( Java 测试时的代码)


import org.json.JSONArray;
import org.json.JSONObject;

public class main {
    public static void main(String arg[]) {
        String sJson = "[{'id':'1','name':'hei'},{'id':'2','name':'ha'}]";
        new main().JSONSolve(sJson);
    }

    public void JSONSolve(String str) {

        try {
            JSONArray jsonArray = new JSONArray(str);
            for (int i = 0; i < jsonArray.length(); i++) {

                JSONObject job = jsonArray.getJSONObject(i);

                System.out.println("id = " + job.getInt("id") + "  name = " + job.getString("name"));

            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

  之后使用的时候,发现了接受字符串中会有 null 的情况,此时会报出 org.json.JSONException: No value for prefer 错误,是因为我们是用了 getString("") 方法,当里面值不存在的时候,就会出现json解析错误,此时我们还有另一个方法optString("") ,当值不存在时,会返回"" 空字符串,否则会返回 value ,所以一般情况下,为了避免解析错误,建议使用optString()方法,不过两者的效率没有比较过,如果有大神知道,还望告知,在此拜谢啦~

  在此感谢 StormMaybin 提供的资料及资源
  jar包下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值