首页 > 编程 > Java > 正文

Java中Json解析

2019-11-06 08:06:19
字体:
来源:转载
供稿:网友

首先准备一个JSON格式的字符串* 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'}]}}";

 

* 然后定义一个Person类* *

 

class Person {            PRivate String name, image;            public String getName() {                return name;            }            public void setName(String name) {                this.name = name;            }            public String getImage() {                return image;            }            public void setImage(String image) {                this.image = image;            }        }

 

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

class Text {            //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'}]}}";            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;            }        }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表