使用GSON解析json数据

匿名 (未验证) 提交于 2019-12-03 00:39:02

json有两种数据结构,分别是有序的jsonArray和无序的jsonObject。

使用gson解析gson数据首先要导入gson的jar包

jsonArray文件:

{






}

jsonObject文件:

{






}

java代码:

package testJson;  import java.io.FileNotFoundException; import java.io.FileReader;  import com.google.gson.JsonArray; import com.google.gson.JsonIOException; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException;  public class TestJson {  	public static void main(String[] args) { 		try { 			//解析jsonArray数据 //			JsonParser parser=new JsonParser();  //创建JSON解析器 //		    JsonObject object;   //创建JsonObject对象 //			object = (JsonObject) parser.parse(new FileReader("src/jsonObject.json")); //		    System.out.println("name="+object.get("name").getAsString()); //将json数据转为为String型的数据 //		    System.out.println("isTrue="+object.get("isTrue").getAsBoolean()); //将json数据转为为boolean型的数据 //		      //		    JsonArray array=object.get("language").getAsJsonArray();    //得到为json的数组 //		    for(int i=0;i<array.size();i++){ //		        System.out.println("---------------"); //		        JsonObject subObject=array.get(i).getAsJsonObject(); //		        System.out.println("id="+subObject.get("id").getAsInt()); //		        System.out.println("name="+subObject.get("name").getAsString()); //		    } 			 			//解析jsonObject数据 			JsonParser parser=new JsonParser();  //创建JSON解析器 			JsonObject object;   //创建JsonObject对象 			object = (JsonObject) parser.parse(new FileReader("src/jsonArray.json")); 			System.out.println("name="+object.get("name").getAsString()); //将json数据转为为String型的数据 			System.out.println("isTrue="+object.get("isTrue").getAsBoolean()); //将json数据转为为boolean型的数据 			 			JsonObject language = object.get("language").getAsJsonObject(); 			JsonObject language1 = language.get("language1").getAsJsonObject(); 			System.out.println("---------------"); 			System.out.println("id="+language1.get("id").getAsInt()); 			System.out.println("name="+language1.get("name").getAsString()); 			 		} catch (JsonIOException e) { 			e.printStackTrace(); 		} catch (JsonSyntaxException e) { 			e.printStackTrace(); 		} catch (FileNotFoundException e) { 			e.printStackTrace(); 		}   	} }

jsonArray的输出结果:

name=cq
isTrue=true
---------------
id=1
name=Java
---------------
id=2
name=C++

jsonObject的输出结果:

name=cq
isTrue=true
---------------
id=1
name=Java


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!