findViewById(R.id.parseBtn).setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";
MainActivity.parseJson(jsonData);
}
});
public static void parseJson(String jsonStr){
//如果要解析JSON数据,首先要有一个JsonReader对象
JsonReader jsonReader = new JsonReader(new StringReader(jsonStr));
try {
//开始遍历数组(多个JSON对象)
jsonReader.beginArray();
while(jsonReader.hasNext()){
//开始遍历JSON对象(含有多个属性)
jsonReader.beginObject();
while(jsonReader.hasNext()){
String tagName = jsonReader.nextName();
if(tagName.equals("name")){
System.out.println("name --> " + jsonReader.nextString());
}else if(tagName.equals("age")){
System.out.println("age --> " + jsonReader.nextString());
}
}
//遍历JSON对象结束
jsonReader.endObject();
}
//遍历数组结束
jsonReader.endArray();
} catch (IOException e) {
e.printStackTrace();
}
}
//先定义一个类
public class User {
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;
}
}
//只将一组数据转换的方法
findViewById(R.id.parseObj).setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
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());
}
});
//将多组数据转换的方法
findViewById(R.id.parseObjs).setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
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());
}
}
});
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有