[备忘]模拟生成服务器返回JSON格式数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012487644/article/details/53520133

  为什么写这篇博客?

  这是一个创新时代,学习时代,新鲜事物层出不穷,需要不断学习才能站稳脚跟。学习到一种东西后,如果不总结不复习,很快就会忘记。当有需求的时候,又得找资料,重复学习。为了让自己不做太多的重复的看似无用的功,于是用博客记录下来,备忘。避免了需要时到处查资料无果的尴尬。

  好了,入正题!在服务器端开发同学还没有写好接口的时候,或服务器端开发同学给出的接口不能让你满意的时候,你就可以通过以下的方式来自己实现接口。

  方式一:

  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!两种实现方式如上,仅供学习。



阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页