首先準備一個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;            }        }
新聞熱點
疑難解答