首先准备一个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; } }
新闻热点
疑难解答