Android中解析Json数据
在开发中经常会遇到解析json的问题
在这里总结几种解析的方式:
方式一:
json数据:
private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";解析jsonData的方法
try { //如果需要解析Json数据,首先要生成一个JsonReader对象 JsonReader reader=new JsonReader(new StringReader(jsonData)); reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); while (reader.hasNext()) { String tagName=reader.nextName(); if (tagName.equals("name")) { System.out.println("name--->"+reader.nextString()); }else if (tagName.equals("age")) { System.out.println("age--->"+reader.nextInt()); } } reader.endObject(); } reader.endArray(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
方法二:
private String jsonData="{\"name\":\"Michael\",\"age\":20}";
解析方法
Gson gson=new Gson(); User user=gson.fromJson(jsonData, User.class); System.out.println("name-->"+user.getName()); System.out.println("age-->"+user.getAge());
这里需要导入gson-2.2.4.jar
public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
这个是对于比较简单的数据的解析方式
方法三:
private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";
Type listType=new TypeToken<LinkedList<User>>(){}.getType(); Gson gson=new Gson(); 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()); }
其实除了这三种方式还有其他方法,等以后用到了再总结。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。