标签:
1.Json
2.Json例子
将Json(一个字符串)直接解析出来
public class JsonUtils { public void jsonReader(String str) { // str形如:String JsonStr="[{\"name\":\"hq\",\"age\":20},{\"name\":\"cyx\",\"age\":30}]"; //这里解析读取json数组。 //创建一个json解析对象 JsonReader jr=new JsonReader(new StringReader(str)); try { //读取的流程是1.开始读取数组。2.开始读取对象。3.开始读取键值对。 //(重复多次3)4.结束读取对象。5.结束读取数组 jr.beginArray(); while(jr.hasNext()) { jr.beginObject(); while(jr.hasNext()) { String name=jr.nextName(); if(name.equals("name")) System.out.println("name---"+jr.nextString()); else if(name.equals("age")) System.out.println("age---"+jr.nextInt()); } jr.endObject(); } jr.endArray(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void parseJsonFromUser() { //1.创建Gson对象 Gson gson = new Gson(); // User user = gson.fromJson(jsonData, User.class); System.out.println("name--->" + user.getName()); System.out.println("age---->" + user.getAge()); } }
将单个Json对象(字符串:只有一个对象)解析到结构类似的类对象中
public class JsonUtils { //将单个json对象解析到结构相似的User类中 public void parseUserFromJson(String jsonData){ //1.创建Gson对象 Gson gson = new Gson(); //2.调用该对象的fromJson方法,解析到user对象去 User user = gson.fromJson(jsonData, User.class); System.out.println("name--->" + user.getName()); System.out.println("age---->" + user.getAge()); } }
将多个Json对象(字符串:多个Json对象)解析到结构类似的类对象中
public class JsonUtils { //解析Json数组(多个json对象)到一个user列表里 public void parseUserFromJson(String jsonData){ //1.创建Type对象,用来存放多个User对象 Type listType = new TypeToken<LinkedList<User>>(){}.getType(); //2.创建Gson对象 Gson gson = new Gson(); //3.调用fromJson方法,返回解析完后的User(list)里 LinkedList<User> users = gson.fromJson(jsonData, listType); for (Iterator iterator = users.iterator(); iterator.hasNext();) { User user = (User) iterator.next(); System.out.println("name--->" + user.getName()); System.out.println("age---->" + user.getAge()); } } }
标签:
原文地址:http://www.cnblogs.com/beyondbycyx/p/4297355.html