JSON 与 Java 对象的事

Author Avatar
Pang Jian 9月 12, 2015
总字数:381 预计阅读:1 min
  • 在其它设备中阅读本文章

很久没有写了,来清理一下杂草。这片文字是团队内其他小伙伴经常混淆的一个知识点,最初的目的是写个东西好让大家用到的时候可查,由于原文涉及公司的一个框架,不便写出来。该框架其实引用的开源框架 Jackson,所以本文直接介绍 Jackson 部分。其实说不上介绍,约等于一个学习笔记。

JSON 是什么?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于 JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C、C++、C#、Java、JavaScript、Perl、Python 等)。这些特性使 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

JSON 的值可以是

  • 数字 number(整数获浮点数)
    number
  • 字符串 string(在双引号获单引号中)
    string
  • 逻辑值 boolean(true 获 false)
  • 数组 array(在方括号中)
    array
  • 对象 object(在花括号中)
    object
  • 函数 function
  • null

所以说 String、BigDecimal、List、Map、Integer 都不是 JSON 的值,这些只是 java 中的类,在 JavaScript 中是不存在的。(作为 Java 开发者,不能手里拿着锤子就看什么都是钉子)

JSON 示例

{
    "number":1234,
    "number2":12.34,
    "numString":"1234",
    "numString2":"12.34",
    "string":"abc",
    "object":{"p1":"abc"},
    "array":["a","b"],
    "boolean":true
}

Jackson

Java 与 JSON 的映射关系(基于 Jackson)

代码及运行结果

  • “number”:1234

Documentation licensed under CC BY-SA 4.0.
本文链接:https://www.pangjian.me/2015/09/12/json-and-java-object/