JSON文档解析 三种方法
来源:互联网 发布:mac os 10.13 cdr 编辑:程序博客网 时间:2024/06/05 12:49
private String jsonData1="[{\"name\":\"renhaili\",\"age\":20},{\"name\":\"zhouxiaodong\",\"age\":21}]";
private String jsonData2="{\"name\":\"xiong\",\"age\":18}";
private String jsonData2="{\"name\":\"xiong\",\"age\":18}";
/**
* 解析方法一
* @param jsonData
*/
public void parseJson(String jsonData) {
// 如果需要从解析json数据,首先要生成一个jsonReader对象
JsonReader reader = new JsonReader(new StringReader(jsonData));
try {
// 现在开始解析
reader.beginArray();// 开始解析数组
while (reader.hasNext()) {
reader.beginObject();// 开始解析对象
while (reader.hasNext()) {
String tagName = reader.nextName();
if (tagName.equals("name")) {
// System.out.println(reader.nextString());
Log.v("name", reader.nextString());
} else if (tagName.equals("age")) {
// System.out.println(reader.nextInt());
Log.v("age", ""+reader.nextInt());
}
}
reader.endObject();// 结束对象解析
}
reader.endArray();// 结束数组解析
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 解析方法2
* @param jsonData
*/
public void pareUserFromJson(String jsonData){
Gson gson=new Gson();//创建Gson对象,
User user=gson.fromJson(jsonData,User.class);
Log.v("用户名:",user.getName());
Log.v("年龄:",""+user.getAge());
}
/**
* 解析方法3
* @param jsonData
*/
public void parseJsonFromUser(String jsonData){
//likedlist是双向列表
Type listType=new TypeToken<LinkedList<User>>(){}.getType();
Gson gson=new Gson();
LinkedList<User> users=gson.fromJson(jsonData, listType);
for(Iterator<User> iterator=users.iterator();iterator.hasNext();){
User user=(User)iterator.next();
Log.v("用户名:",user.getName());
Log.v("年龄:",""+user.getAge());
}
}
* 解析方法一
* @param jsonData
*/
public void parseJson(String jsonData) {
// 如果需要从解析json数据,首先要生成一个jsonReader对象
JsonReader reader = new JsonReader(new StringReader(jsonData));
try {
// 现在开始解析
reader.beginArray();// 开始解析数组
while (reader.hasNext()) {
reader.beginObject();// 开始解析对象
while (reader.hasNext()) {
String tagName = reader.nextName();
if (tagName.equals("name")) {
// System.out.println(reader.nextString());
Log.v("name", reader.nextString());
} else if (tagName.equals("age")) {
// System.out.println(reader.nextInt());
Log.v("age", ""+reader.nextInt());
}
}
reader.endObject();// 结束对象解析
}
reader.endArray();// 结束数组解析
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 解析方法2
* @param jsonData
*/
public void pareUserFromJson(String jsonData){
Gson gson=new Gson();//创建Gson对象,
User user=gson.fromJson(jsonData,User.class);
Log.v("用户名:",user.getName());
Log.v("年龄:",""+user.getAge());
}
/**
* 解析方法3
* @param jsonData
*/
public void parseJsonFromUser(String jsonData){
//likedlist是双向列表
Type listType=new TypeToken<LinkedList<User>>(){}.getType();
Gson gson=new Gson();
LinkedList<User> users=gson.fromJson(jsonData, listType);
for(Iterator<User> iterator=users.iterator();iterator.hasNext();){
User user=(User)iterator.next();
Log.v("用户名:",user.getName());
Log.v("年龄:",""+user.getAge());
}
}
- JSON文档解析 三种方法
- 解析json格式的三种方法
- Json的三种解析方法
- 解析json字符串三种方法
- Android 解析三种方法Json
- android 解析 xml 文档的三种方法
- iOS三种Json方法解析国家气象局API
- iOS三种Json方法解析国家气象局API
- iOS三种Json方法解析国家气象局API
- 获取JSON数据并且解析的三种方法
- JavaScript中解析JSON数据的三种方法
- 解析JSON的三大方法
- QT XML文档的解析 QXmlStreamReader, DOM,SAX 三种解析方法 简单示例
- JSON复杂文档解析 Android自带JSONObject,JSONArray方法
- 分别利用利用SAX、DOM、PULL三种方法解析XML文档
- Andorid三种解析Json详解
- Andorid解析json的三种方式
- JSON的三种解析方式
- App don't display in google paly
- 完整端口扫描
- 在spring中使用Quartz调度器
- 移动开发:iOS学习之 编译错误汇总
- 3468 A Simple Problem with Integers 线段树
- JSON文档解析 三种方法
- 为什么Java byte 类型的取值范围是-128~127
- python循环for,range,xrange;while
- hdu 4611 Balls Rearrangement 多校第二场
- GCD 扩展GCD 快速GCD 模线性方程 模线性方程组 单独求欧拉函数 递推求欧拉函数
- 贪心——NYOJ 题目236 心急的C小加
- hdu 3790 最短路径问题 (dijkstra算法+memset()用法)
- POJ 2954 Triangle (pick 定理)
- 安卓调试时ADB server didn't ACK的终极解决办法