在Java中处理JSON数据:fastjson的简单使用



一、JSON基础

1.JSON语法

JSON是一种由双引号包裹的,名称-值对为组成形式的数据格式,如

"MyNamIs":"json"

注意:JSON名称和值对中都可以使用空格和特殊字符(除a~z 0~9以外的字符)。但是这样会影响移植性,所以为了保证最大的移植性,应该尽量避免使用。


2.JSON对象与JSON数组

JSON对象

JSON对象是使用逗号分隔的名称-值对构成的集合,并使用花括号{}包裹,如:

{
  "one":"1",
  "two":"1",
  "three":"1",
  "one":"1"
}

JSON数组

JSON数组是值的集合或列表,每个值都可以是字符串、数字、布尔值、对象或数组中的任何一种。数组必须被方括号[]包裹,如:

  "two":[
    "2",
    "2"
  ]
对象与数组之间的区别

1.对象是名称-值对构成的列表或集合,数组是值构成的列表或集合

2.数组中所有的值应具有相同额数据类型

在数组中使用对象
"two":[
  "2",
  "2",
  {
    "num": 2,
    "num": 3
  },
  {
    "num": 2,
    "num": 3
  }
]


3.JSON常用数据类型

字符串

一个字符串值,使用双引号包裹

"one":1,

布尔类型

true或false

  "boolSTrue": true,
  "boolSFalse": false

数字类型

一个数字值,如42,可以是正整数、负整数、小数或指数

  "aNum": 23,
  "aNumDouble": 1.2

null类型
  "aNoneValue": null

4 JSON字符中需要进行转义的字符

""(双引号)
\ (反斜线)
\/ (反斜线)
\b(退格符)
\f(换行符)
\t(制表符)
\n(换行符)
\r(回车符)
\u(后面跟十六进制字符 如笑脸表情\u263A)



二、在Java中使用JSON

1.添加坐标

在Maven pom.xml文件中导入依赖

    <!-- JSON PROCESE-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.41</version>
    </dependency>
  </dependencies>

2.准备测试数据

String testString = "{one:1,double:1.2}";

3.将字符串转换为JSON格式

JSONObject jsonObject = JSONObject.parseObject(testString);

转换后效果如下:

{"double":1.2,"one":1}

4.通过名称值字符串查询

jsonObject.getString("one")

查找后的结果:

1

5.判断是否包含指定名称

jsonObject.containsKey("one")

显示结果:

true

6.判断是否包含指定值

jsonObject.containsValue(1)

显示效果:

true

7.判断是否为空

jsonObject.isEmpty()

显示效果:

false

8.移除JSONObject对象中的名称:值对指定记录

jsonObject.remove("one")
{"double":1.2}

9.添加键值到JSON

添加单条数据
jsonObject.put("three",3)

添加多条数据-使用Map集合
HashMap hS = new HashMap<String,Integer>();
hS.put("temp","23");
jsonObject.putAll(hS);



三、参考文献

《JSON必知必会》- https://book.douban.com/subject/26789960/

GitHub:FastJson - https://github.com/alibaba/fastjson

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值