JSON教程之GSON基本解析(Java-Gson)
2014-03-25 21:58
501 查看
使用Gson我们可以很方便把一个自定义Java对象转换为Gson。但是,我们也需要知道一些Java基本对象和Gson之间的转换,我们这里就说一些基本Java对象和Gson直接的转换。
1、构建JsonObject对象
Json字符串中,如果想要显示出来是 { } 这样格式的,就必须构建JsonObject对象
eg:
JsonObject spanObj=new JsonObject();
spanObj.addProperty("latitude_delta",0);
spanObj.addProperty("longitude_delta",0);
JsonObject regionObj=new JsonObject();
regionObj.add("center", centerObj);
regionObj.add("span", spanObj);
JsonObject有2种add方法,一种是addProperty,这个方法的第一个参数是Key,第二个参数是Value,Key只能是String类型的,Value可以是Boolean,Integer,String 等Java基本类型
第二种方法是add,add方法也有2个参数,分别作为Key,Value,其中Value是JsonElement对象,其中JsonElement有一些子类,像:JsonArray, JsonNull, JsonObject, JsonPrimitive这些都是JsonElement的子类
2、构建JsonArray、JsonElement对象
在Json字符串中,如果想要显示出来是 [ ] 这样格式的,就必须构建一个JsonArray对象或者JsonElement对象
JsonArray的add方法只能接受JsonElement或其子类,所以我们需要先构建一个JsonElement或JsonObject等
eg:
JsonArray businessesArray=new JsonArray();
businessesArray.add(businessObj);//businessObj为一个JsonObject对象
因为JsonElement没有显式的构造方法,我们如果想要构建JsonArray类型的JsonElement时,需要借用Gson的toJsonTree方法,该方法接受一个Object对象,我们可以用任意的Java对象来构建JsonElement:
Gson gson=new Gson();
List<String> cate1=new ArrayList<String>();
cate1.add("Local Flavor");
cate1.add("localflavor");
List<String> cate2=new ArrayList<String>();
cate2.add("Mass Media");
cate2.add("massmedia");
List<List<String>> cates=new ArrayList<List<String>>();
cates.add(cate1);cates.add(cate2);
JsonElement categoriesElement=gson.toJsonTree(cates);
3、生成JSON字符串
如果需要输出JSON字符串,第一种方法是构建一个JsonObject对象,然后输出JsonObject对象即可,第二种是用Gson的toJson方法,生成一个String类型的Json串
eg:(其中Obj是一个JsonObject对象)
String gsonStr=gson.toJson(obj);
System.out.println(gsonStr);
System.out.println(obj);
4、示例
1、构建JsonObject对象
Json字符串中,如果想要显示出来是 { } 这样格式的,就必须构建JsonObject对象
eg:
JsonObject spanObj=new JsonObject();
spanObj.addProperty("latitude_delta",0);
spanObj.addProperty("longitude_delta",0);
JsonObject regionObj=new JsonObject();
regionObj.add("center", centerObj);
regionObj.add("span", spanObj);
JsonObject有2种add方法,一种是addProperty,这个方法的第一个参数是Key,第二个参数是Value,Key只能是String类型的,Value可以是Boolean,Integer,String 等Java基本类型
第二种方法是add,add方法也有2个参数,分别作为Key,Value,其中Value是JsonElement对象,其中JsonElement有一些子类,像:JsonArray, JsonNull, JsonObject, JsonPrimitive这些都是JsonElement的子类
2、构建JsonArray、JsonElement对象
在Json字符串中,如果想要显示出来是 [ ] 这样格式的,就必须构建一个JsonArray对象或者JsonElement对象
JsonArray的add方法只能接受JsonElement或其子类,所以我们需要先构建一个JsonElement或JsonObject等
eg:
JsonArray businessesArray=new JsonArray();
businessesArray.add(businessObj);//businessObj为一个JsonObject对象
因为JsonElement没有显式的构造方法,我们如果想要构建JsonArray类型的JsonElement时,需要借用Gson的toJsonTree方法,该方法接受一个Object对象,我们可以用任意的Java对象来构建JsonElement:
Gson gson=new Gson();
List<String> cate1=new ArrayList<String>();
cate1.add("Local Flavor");
cate1.add("localflavor");
List<String> cate2=new ArrayList<String>();
cate2.add("Mass Media");
cate2.add("massmedia");
List<List<String>> cates=new ArrayList<List<String>>();
cates.add(cate1);cates.add(cate2);
JsonElement categoriesElement=gson.toJsonTree(cates);
3、生成JSON字符串
如果需要输出JSON字符串,第一种方法是构建一个JsonObject对象,然后输出JsonObject对象即可,第二种是用Gson的toJson方法,生成一个String类型的Json串
eg:(其中Obj是一个JsonObject对象)
String gsonStr=gson.toJson(obj);
System.out.println(gsonStr);
System.out.println(obj);
4、示例
相关文章推荐
- JSON教程之GSON基本解析(Gson-Java)
- Java中利用gson解析Json实例教程
- GSON实现Java对象与JSON格式对象相互转换的完全教程
- Java-json解析:GSON解析,java bean 编写
- Java学习总结(二十)——JSON解析:官方解析,GSON解析,FastJSON解析,
- JSON的解析[Java-JSON、FastJSON、GSON]
- JAVA使用Gson解析json数据实例解析
- Java下json的解析方法-----GSON与JSONObject
- Java下json的解析方法-----GSON与JSONObject
- Java的JSON转换类库GSON的基础使用教程
- Java-json系列(一):用GSON解析Json格式数据
- java : 用 gson 解析 JSON
- Android中Gson解析json数据使用@SerializedName注解与java对象不匹配的字段
- 举例讲解Java的JSON类库GSON的基本用法
- java用ssh的时候,Gson解析json有外键的时候报错
- Gson解析出现类似错误;com.google.gson.JsonSyntaxException:java.lang.illegalStateException:Exception BEGIN_AR
- Java-json系列(一):用GSON解析Json格式数据
- 解决Gson解析Json时,Json 中Key为Java关键字的问题
- JAVA_Gson解析json工具类封装
- Java 使用gson 解析 Json