前面我们有提到google的Gson技术的介绍[GSON 数据格式详解],这一讲我们来详细学习一下Android客户端与服务端之间使用GSON进行JSON数据的解析,关于GSON的技术我们已经在前面两讲中提到过,对GSON不了解的读者可以先去看前面两讲的博文,这一讲我们主要学习一下使用GSON方式来完成Android客户端与服务端之间的JSON数据的交互,具体的实现Demo我们会在上面一讲[Android客户端与服务端之间使用JSON交互数据]的Demo架构上进行修改,读者在看这一部分的内容的时候可以从上面一讲中看起。
这一讲我们主要来实现一下使用Gson完成JSON字符串与Java对象之间的转换,如下图所示
一. 服务端:作用是使用GSON将服务端的对象转换成JSON数据格式
我们服务端主要是基于上一讲的解析JSON的服务端架构进行修改,读者可以先看完上一讲内容再参考此文。
1. 添加gson的jar库到lib目录下
2. 查看GSON API com.google.gson.Gson类,这个是最经常使用的类This is the main class for using Gson. Gson is typically used by first constructing a Gson instance and then invoking toJson(Object) or fromJson(String, Class) methods on it.
3. 代码如下
1). JSONTools.java 上进行修改,修改如下所示
/** * @param value :JSON 名值对中的值,值可以有多种类型 * @return */ // 使用Gson方式接受对象转换为JSON数据格式并且作为字符串输出. public static String createJsonString(Object value){ Gson gson = new Gson(); String str = gson.toJson(value); return str; }
这边做这个修改主要是因为在GSON中将Java对象转换成JSON字符串的时候是不带key的值,这一点与上一讲中讲JSON字符串的形式是不一样的