¶前言
承接上篇文中,讲到eclipse开发环境中Gson的引入和基本使用;下面将讲述java中的网络编程和Gson对json字符串的解析:
- **java 发送Http Get请求 **
- java 发送Http send请求
- 请求返回json数据的类构造
¶发送Http Get请求
1 | /** |
¶发送Http send请求
1 | /** |
¶实例测试
可以在百度API Store中请求一些天气状况数据,返回json字符串;
eg:
1 | public class MainTest { |
返回得到的是json字符串:
1 | { |
¶json字符串转java对象的类构造
我们需要构造相应结构的java类,并生成相应的对象,方可使用Gson进行相应的解析,根据上述请求的得到的json字符串,具体构造方法如下:
<1> 将json字符串中的单一键值对(key-value)表示成类的属性;
<2> 将json字符串中的“{}”包围的结构,构造成另一个类;
<3> 将json字符串中的"[]"包围的结构,构造成数组,通常使用List<>。
<4> 构造类中的属性名称,一定要与json字符串中的名称一致(特别重要, 由Gson的方法所限制)
那么,对于上述的天气json字符串,我们的构造过程如下所示:
¶构造整体类结构
(1) 构造一个Weather类,含有3个私有属性:(注意:属性名称和json字符串中的key的名称一样);
(2) 添加相应的构造方法、Getter和Setter方法;
1 | private int errNum; // 错误标志 |
具体结构如下:
1 | public class Weather { |
同理,json字符串中的retData天气数据的构造如下:
1 | public class RetData { |
至此,我们的类结构的构造定义完成了,下面调用Gson的fromJson()方法
(具体原理是java的反射机制)便可以生成相应的变量在内存中使用。
¶综合测试
1 | public class MainTest { |