西数超哥博客
运维经验教程分享

Java 中 JSON 的使用

本章节我们将为大家介绍如何在 Java 语言中使用 JSON。

类库选择

Java中并没有内置JSON的解析,因此使用JSON需要借助第三方类库。

下面是几个常用的 JSON 解析类库:

  • Gson: 谷歌开发的 JSON 库,功能十分全面。
  • FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。
  • Jackson: 社区十分活跃且更新速度很快。

以下教程基于 FastJson 讲解。

环境配置

在 Maven 构建的项目中,在 pom.xml 文件中加入以下依赖即可。

<
dependency
>

<
groupId
>
com.alibaba
</
groupId
>

<
artifactId
>
fastjson
</
artifactId
>

<
version
>
1.2.47
</
version
>

</
dependency
>

编码与解码

编码

从 Java 变量到 JSON 格式的编码过程如下:

实例

public

void

testJson
(
)

{

JSONObject

object
=
new

JSONObject
(
)
;
//
string


object
.
put
(

string

,

string

)
;
//
int


object
.
put
(

int

,
2
)
;
//
boolean


object
.
put
(

boolean

,
true
)
;
//
array


List
<
Integer
>
integers
=
Arrays
.
asList
(
1
,
2
,
3
)
;
object
.
put
(

list

,
integers
)
;
//
null


object
.
put
(

null

,
null
)
; ​
System
.
out
.
println
(
object
)
;
}

在上例中,首先建立一个 JSON 对象,然后依次添加字符串、整数、布尔值以及数组,最后将其打印为字符串。

输出结果如下:

{"boolean":true,"string":"string","list":[1,2,3],"int":2}

解码

从 JSON 对象到 Java 变量的解码过程如下:

实例

public

void

testJson2
(
)

{

JSONObject

object
=
JSONObject
.
parseObject
(

{
\”
boolean
\”
:true,
\”
string
\”
:
\”
string
\”
,
\”
list
\”
:[1,2,3],
\”
int
\”
:2}

)
;
//
string


String

s
=
object
.
getString
(

string

)
;
System
.
out
.
println
(
s
)
;
//
int


int

i
=
object
.
getIntValue
(

int

)
;
System
.
out
.
println
(
i
)
;
//
boolean


boolean

b
=
object
.
getBooleanValue
(

boolean

)
;
System
.
out
.
println
(
b
)
;
//
list


List
<
Integer
>
integers
=
JSON
.
parseArray
(
object
.
getJSONArray
(

list

)
.
toJSONString
(
)
,
Integer
.
class
)
;
integers
.
forEach
(
System
.
out
::
println
)
;
//
null


System
.
out
.
println
(
object
.
getString
(

null

)
)
; ​
}

在上例中,首先从 JSON 格式的字符串中构造一个 JSON 对象,之后依次读取字符串、整数、布尔值以及数组,最后分别打印,打印结果如下:

string
2
true
1
2
3
null

JSON 对象与字符串的相互转化

方法 作用
JSON.parseObject() 从字符串解析 JSON 对象
JSON.parseArray() 从字符串解析 JSON 数组
JSON.toJSONString(obj/array) 将 JSON 对象或 JSON 数组转化为字符串

实例

//
从字符串解析JSON对象


JSONObject

obj
=
JSON
.
parseObject
(

{
\”
runoob
\”
:
\”
菜鸟教程
\”
}

)
;
//
从字符串解析JSON数组


JSONArray

arr
=
JSON
.
parseArray
(

[
\”
菜鸟教程
\”
,
\”
RUNOOB
\”
]
\n

)
;
//
将JSON对象转化为字符串


String

objStr
=
JSON
.
toJSONString
(
obj
)
;
//
将JSON数组转化为字符串


String

arrStr
=
JSON
.
toJSONString
(
arr
)
;

相关教程

  • Fastjson 简明教程
  • Json 教程
  • Maven 教程

www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » Java 中 JSON 的使用