首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

GSON解析JSON例证

2013-02-02 
GSON解析JSON例子1.Maven Dependencyproject xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihtt

GSON解析JSON例子
1.Maven Dependency

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.fool.json.gson</groupId><artifactId>gson</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>GSON</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.2.2</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies></project>

?

2.POJO

Person.java

package org.fool.json.gson;import java.util.ArrayList;import java.util.List;import org.apache.commons.lang3.builder.ToStringBuilder;import org.apache.commons.lang3.builder.ToStringStyle;public class Person{private String username;private String password;private int age;private String address;private List<String> list = new ArrayList<>();public String getUsername(){return username;}public void setUsername(String username){this.username = username;}public String getPassword(){return password;}public void setPassword(String password){this.password = password;}public int getAge(){return age;}public void setAge(int age){this.age = age;}public String getAddress(){return address;}public void setAddress(String address){this.address = address;}public List<String> getList(){return list;}public void setList(List<String> list){this.list = list;}@Overridepublic String toString(){return ToStringBuilder.reflectionToString(this,ToStringStyle.SHORT_PREFIX_STYLE);}}

?

3.JUnit Test

GsonTest.java

package org.fool.json.gson;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import org.junit.Before;import org.junit.Test;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.JsonIOException;import com.google.gson.JsonSyntaxException;public class GsonTest{private Gson gson = null;private Person person = null;@Beforepublic void setUp(){gson = new GsonBuilder().create();person = new Person();person.setUsername("zhangsan");person.setPassword("123456");person.setAddress("beijing");person.setAge(30);person.getList().add("hello");person.getList().add("world");person.getList().add("Hero");person.getList().add("Heroine");}...}

?

toJsonTest

控制台输出通过GSON解析过的JSON格式的person数据,并存入gsonResult.json的文件中

...    @Testpublic void toJsonTest(){gson.toJson(person, System.out);String result = gson.toJson(person);BufferedWriter bw = null;try{bw = new BufferedWriter(new FileWriter("gsonResult.json"));bw.write(result);}catch (IOException e){e.printStackTrace();}finally{try{bw.close();}catch (IOException e){e.printStackTrace();}}}...

?result

{"username":"zhangsan","password":"123456","age":30,"address":"beijing","list":["hello","world","Hero","Heroine"]}

?

fromJsonTest

通过GSON解析gsonResult.json文件,将JSON格式的数据转换成Person对象

...    @Testpublic void fromJsonTest(){BufferedReader br = null;try{br = new BufferedReader(new FileReader("gsonResult.json"));Person person = gson.fromJson(br, Person.class);System.out.println(person);}catch (JsonSyntaxException e){e.printStackTrace();}catch (JsonIOException e){e.printStackTrace();}catch (FileNotFoundException e){e.printStackTrace();}finally{try{br.close();}catch (IOException e){e.printStackTrace();}}}...

?result

Person[username=zhangsan,password=123456,age=30,address=beijing,list=[hello, world, Hero, Heroine]]

?

热点排行
Bad Request.