在java中像js那样处理json数据

时间:2024-01-03 21:46:56

工作中经常需要通过ajax向前台返回json数据,都是通过拼字符串拼出来的,很发麻烦不说,还容易出错。

于是想,能不能像js那样操作json呢?或者说更方便的操作呢?

Google的gson就是这样的一种库。

项目地址:https://code.google.com/p/google-gson/

Demo 1:

 public static void test01(){
JsonObject json=new JsonObject();
json.addProperty("name", "排放量"); JsonArray jsonArr=new JsonArray(); jsonArr.add(new JsonPrimitive(1.0));
jsonArr.add(new JsonPrimitive(2.0));
jsonArr.add(new JsonPrimitive(4.0)); json.add("data", jsonArr); System.out.println(json);  // {"name":"排放量","data":[1.0,2.0,4.0]}
}

Demo 2:

     JsonArray jsonArray=new JsonArray();

         JsonObject json01=new JsonObject();
JsonObject json02=new JsonObject();
JsonObject json03=new JsonObject(); json01.addProperty("name", "Alice");
json02.addProperty("name", "Alice");
json03.addProperty("name", "Alice"); json01.addProperty("age", 12);
json02.addProperty("age", 12);
json03.addProperty("age", 12); json01.addProperty("sex",0);
json02.addProperty("sex",0);
json03.addProperty("sex",0); jsonArray.add(json01);
jsonArray.add(json02);
jsonArray.add(json03); System.out.println(jsonArray.toString()); //[{"name":"Alice","age":12,"sex":0},{"name":"Alice","age":12,"sex":0},{"name":"Alice","age":12,"sex":0}]
}