[備忘]模擬生成服務器返回JSON格式數據

  爲什麼寫這篇博客?

  這是一個創新時代,學習時代,新鮮事物層出不窮,需要不斷學習才能站穩腳跟。學習到一種東西后,如果不總結不復習,很快就會忘記。當有需求的時候,又得找資料,重複學習。爲了讓自己不做太多的重複的看似無用的功,於是用博客記錄下來,備忘。避免了需要時到處查資料無果的尷尬。

  好了,入正題!在服務器端開發同學還沒有寫好接口的時候,或服務器端開發同學給出的接口不能讓你滿意的時候,你就可以通過以下的方式來自己實現接口。

  方式一:

  google的gson.jar中的com.google.gson.Gson.toJson(Object src)

  在GSON的API中,提供了兩個重要的方法:toJson()和fromJson()方法。其中,toJson()方法用來實現將Java對象轉換爲相應的JSON數據,fromJson()方法則用來實現將JSON數據轉換爲相應的Java對象。


    toJson()方法用於將Java對象轉換爲相應的JSON數據,主要有以下幾種形式:

  (1)String toJson(JsonElement jsonElement);

  (2)String toJson(Object src);

  (3)String toJson(Object src, Type typeOfSrc);

  其中,

  方法(1)用於將JsonElement對象(可以是JsonObject、JsonArray等)轉換成JSON數據;

  方法(2)用於將指定的Object對象序列化成相應的JSON數據;

  方法(3)用於將指定的Object對象(可以包括泛型類型)序列化成相應的JSON數據。

public String getJsonStr() {
    List<Person> list = new ArrayList<Person>();
    Person mPerson1 = new Person(01, "tom", 22);//id,name,age
    Person mPerson2 = new Person(02, "rose", 24);
    Person mPerson3 = new Person(03, "jack", 26);
    list.add(mPerson1);
    list.add(mPerson2);
    list.add(mPerson3);
    Gson mGson = new Gson();
    String jsonStr = mGson.toJson(list);
    return jsonStr;
}

  方式二:

  alibaba的fastjson.jar中的com.alibaba.fastjson.JSON.toJSONString(Object object)

  Fastjson是一個Java語言編寫的高性能功能完善的JSON庫。fastjson採用獨創的算法,將parse的速度提升到極致,超過所有json庫,包括曾經號稱最快的jackson。並且還超越了google的二進制協議protocol buf。Fastjson完全支持http://json.org的標準,也是官方網站收錄的參考實現之一。支持各種JDK類型。包括基本類型、JavaBean、Collection、Map、Enum、泛型等。支持JDK 5、JDK 6、Android、阿里雲手機等環境。



  Map<String, Object> maps = new HashMap<String, Object>();
  List<Map<String, Object>> arrayList = new ArrayList<Map<String, Object>>();
  Map<String ,Object> params1 = new HashMap<String, Object>();
  Map<String ,Object> params2 = new HashMap<String, Object>();
  params1.put("id", 01);
  params1.put("name", "tom");
  params1.put("url", "http://www.baidu.com");
  params2.put("id", 02);
  params2.put("name", "jack");
  params2.put("url", "http://www.google.com");
  arrayList.add(params1);
  arrayList.add(params2);
  maps.put("desc", "json");
  maps.put("age", "29");
  maps.put("users", arrayList);
  String jsonStr = JSON.toJSONString(maps);
  
  ok!兩種實現方式如上,僅供學習。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章