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、示例


0 0