首页 > 代码库 > Android中解析Json数据
Android中解析Json数据
在开发中经常会遇到解析json的问题
在这里总结几种解析的方式:
方式一:
json数据:
private String jsonData = http://www.mamicode.com/"[{/"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=http://www.mamicode.com/"{/"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 = http://www.mamicode.com/"[{/"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()); }
其实除了这三种方式还有其他方法,等以后用到了再总结。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。