JSON教程之GSON基本解析(Java-Gson)
来源:互联网 发布:职高毕业证查询网络 编辑:程序博客网 时间:2024/06/02 17:02
使用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、示例
- JSON教程之GSON基本解析(Gson-Java)
- JSON教程之GSON基本解析(Java-Gson)
- JSON解析之-Gson
- JSON 之GSON 解析
- JSON 之GSON 解析
- JSON 之GSON 解析
- JSON 之GSON 解析
- JSON 之GSON 解析
- Json解析之gson
- JSON 之GSON 解析
- JSON 之GSON 解析
- JSON 之GSON 解析
- JSON 之GSON 解析
- JSON 之GSON 解析
- JSON解析之Gson
- JSON解析类库之Gson(3) --- Gson注解
- 解析json之com.google.gson.Gson
- 解析json之com.google.gson.Gson
- Cocos2dx 之retain ,release
- opencv vs 设置(韩语)
- hibernate reverse engineering 出现An internal error occurred during: "Generating Artifacts".
- PDF带样式重排
- java操作hbase
- JSON教程之GSON基本解析(Java-Gson)
- Android复制Assets目录下的文件到/data/data目录
- android 四大组件之service学习总结(一)
- android opencv+opengl
- ibatis传入数组或List类型参数小结
- 图片处理(旋转,平移,缩放)View---Canvas;Paint;Bitmap
- 栈、队列和优先队列
- kinect开发教程
- innerText和innerHTML区别