300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java gson解析json_Gson解析json数据(转)

java gson解析json_Gson解析json数据(转)

时间:2024-02-23 04:58:25

相关推荐

java gson解析json_Gson解析json数据(转)

一、

这是JSON的官方网站。

首先,我,我们需要在/p/google-gson/downloads/list下载JSON的jar包,解析后把gson-1.6.jar文件导入到你那个需要解析的项目中去。

解析JSON例子,如下:

1、

这是Json数据,"[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"

2、

//创建JsonReader 对象

JsonReader reader = new JsonReader(new StringReader(jsonData));

//开始解析数组

reader.beginArray();

//循环判断有没有下一个Json对象

while(reader.hasNext()){

//开始解析Json对象

reader.beginObject();

}

//循环判断Json对象里面有没有下一个键值对

while(reader.hasNext()){

String tagName = reader.nextName();

if(tagName.equal("name")){

//name键多对应的值

reader.nextString();

}else if(tagName.equal("age")){

//age键多对应的值

reader.nextString();

}

}

//Json对象的结尾

reader.endObject();

}

//数组解析的结尾

reader.endArray();

二、

***这个例子只能是针对于Json对象而不是Json数组,Json数组需要转为为Json对象,这是下一节的事情。

1. 先有一个JSON对象String str =

"{\"name\":\"Michael\",\"age\":20}",JSON类可以直接把JSON数据转化为java对象

2. 创建User类

public class User{

private String name;

private int age;

public void setName(String name){

this.name = name;

}

public String getName(){

return name;

}

public void setAge(int age){

this.age = age;

}

public int getAge(){

return age;

}

}

3. 创建Gson对象

Gson gson = new Gson();

//第二个是指示转为哪个类的对象

User user = gson.fromJson(str , User.class);

Sysout.out.println(user.getName);

Sysout.out.println(user.getAge);

三、

1. 这是Json数据,String str =

"[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"。这个Json数据有一个数组,数组里面有两个Json对象

2. 首先必须生成Type对象,使用以下的方式(User是上一节的User类):

Type listType = new

TypeToken>(){}.getType();

3. 生成Gson对象

Gson gson = new Gson();

4. LinkedList users = gson.fromJson(str ,

listType);

5. 循环迭代LinkedList

for(Iterator iterator = users.iterator ;iterator.hasNext()

;){

User user = (User)iterator.next();

System.out.println(user.getName());

System.out.println(user.getAge());

}

原文:/dongweiq/p/3775001.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。