JSON解析字符串

JSON解析字符串

注意:
JSON不能解析单引号里面的字符串,所以请务必确定 你要解析的字符串都是双引号里面的

1.首先准备一个JSON格式的字符串,

     //json字符串
    static String JsonStr = "{object:{persons:" +
            "[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
            "{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
            "{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";

2.然后定义一个Person类

class Person{
    private String name,image;
    //自己get、set
}

3.下面是一个Json解析的程序代码:

class MyDayJsonXml {
    //json字符串
    static String JsonStr = "{object:{persons:" +
            "[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
            "{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
            "{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";

    //main方法
    public static void main(String []args) throws JSONException{
        List<Person> list=jsonStrToList(JsonStr);
        System.out.println(list.size());
    }
    /**
     * 解析
     */
    public static List<Person> jsonStrToList(String jsonStr) throws JSONException{
        List<Person> list=new ArrayList<Person>();

        //通过字符串,获得最外部的json对象
        JSONObject jsonObj=new JSONObject(jsonStr);
        //通过属性名,获得内部的对象
        JSONObject jsonPersons=jsonObj.getJSONObject("object");
        //获得json对象组
        JSONArray arr=jsonPersons.getJSONArray("persons");
        for(int i=0;i<arr.length();i++){
            //循环对象,并通过getString("属性名");来获得值
            JSONObject tempJson=arr.getJSONObject(i);
            Person person=new Person();

            person.setName(tempJson.getString("name"));
            person.setImage(tempJson.getString("image"));
            list.add(person);
        }
        return list;

    }

}

代码简单易懂,相信你看一遍就懂了;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值