彻底了解构建 JSON 字符串的三种方式

笔记中提供了大量的代码示例,需要说明的是,大部分代码示例都是本人所敲代码并进行测试,不足之处,请大家指正~

若有疑惑或者需要本系列分享中的资料工具,敬请联系 qingqing_crawl@163.com

-----------------------------------------------------------------------------------------------------------------------------------------------------------

一、alibaba 的 Fastjson

1.Fastjson 是一个以 Java 语言编写的 JSON 处理器,由阿里巴巴公司开发,功能强大。

要使用第三方的工具当然要导入 jar 包了,只需导入 fastjson-1.2.8.jar 即可,jar 包的获取,大家可以直接去网上下载 ,也可以联系本人。

先来一个 fastjson 的简单实例吧,如下代码构造了一个 Customer 的实例,并将此实例转化成为 JSON 字符串,调用了 com.alibaba.fastjson.JSON 的 toJSONString() 方法,将 Customer 实例传入

复制代码
@Test
public void test1() {
        
  Customer customer = new Customer();
  customer.setId(1);
  customer.setCustName("Tom");
  customer.setAddress("BeiJing");
        
  String jsonStr = JSON.toJSONString(customer);
  System.out.println(jsonStr);
}
复制代码

打印结果:{"address":"BeiJing","custName":"Tom","id":1}

再来一个小测试,将一个 List 的 Customer 的集合转换为 JSON 字符串,22 行还是直接调用 JSON 的 toJSONString() 方法,将 List 集合传入即可

复制代码
 1 /**
 2 * 将 List 集合转换为 JSON 字符串
 3 */
 4 @Test
 5 public void test2() {
 6    List<Customer> lists = new ArrayList<>();
 7         
 8    Customer customer = new Customer();
 9    customer.setId(1);
10    customer.setCustName("Tom");
11    customer.setAddress("BeiJing");
12         
13    lists.add(customer);
14         
15    Customer customer2 = new Customer();
16    customer2.setId(1);
17    customer2.setCustName("Bob");
18    customer2.setAddress("ShangHai");
19         
20    lists.add(customer2);
21         
22    String jsonStr = JSON.toJSONString(lists);
23    System.out.println(jsonStr);
24 }
复制代码

打印结果:[{"address":"BeiJing","custName":"Tom","id":1},{"address":"ShangHai","custName":"Bob","id":1}]

2. 深入研究一下,我们看下面这种情况:3 行创建了一个 List 的 Customer 集合,10 和 11 行进行了一个重复的 add 操作,那么打印结果是什么样的呢?

复制代码
 1 @Test
 2 public void test3() {
 3     List<Customer> lists = new ArrayList<>();
 4 
 5     Customer customer = new Customer();
 6     customer.setId(1);
 7     customer.setCustName("Tom");
 8     customer.setAddress("BeiJing");
 9 
10     lists.add(customer);
11     lists.add(customer);
12         
13     String jsonStr = JSON.toJSONString(lists);
14     System.out.println(jsonStr);
15 
16 }
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值