Android代码模拟生成服务器返回JSON格式数据

S:

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

T:

这里列举了两种实现方式,分别是Google的Gson解析工具包和Alibaba的FastJson解析工具包。

A:

  • 方式一:
      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(Objectobject)
      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);

R:

这里偷个懒,就不图了,使用Log打印一下jsonStr就可以看到json格式的数据了。。

ok!两种实现方式如上,仅供学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JSON的特点: JSON数据格式(JSON对象、JSON数组): 1、JSON对象:{ } 结构:{key1:v...
    gogoingmonkey阅读 2,455评论 0 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,126评论 25 709
  • 1.概述2.Gson的目标3.Gson的性能和扩展性4.Gson的使用者5.如何使用Gson 通过Maven来使用...
    人失格阅读 14,386评论 2 18
  • 入职两周,工作量不大,但是心里却有些匆忙。写这篇日志前心中并无清晰的逻辑,两周的工作只能说是"编辑初体验",处在后...
    wowShinyrose阅读 421评论 0 1