JSON数据交换格式
2018-02-02 本文已影响100人
蜗先生
1.json是什么
json全称是JavaScriptObjectNotation,JavaScript对象表示法,是一种轻量级的数据交换格式,用法简单,具有易读性且易解析,常用于数据传输,作为不同系统之间交流的"语言",独立于编程语言和平台,在RESTful规范的微服务架构中常用。
除了json之外,还有一种常用的系统交流"语言"就是xml(Extensive Markup Language扩展性标记语言),是和HTML类似的标记语言,带有标签,易读性差,但是相对json支持复杂的数据类型,所以也作为一种重量级的数据交换格式,常用作数据传输和配置文件。
2.json语法
json是轻量级的,支持的数据类型有数值、字符串、布尔值、空值、数组、对象,这几种数据类型可以任意嵌套。
1)简单类型的语法
数值:number
字符串:用双引号表示如 "string"
布尔值:true或false
空值:null
2)数组
以"["开始,"]"结束表示一个数组,数组中的元素用","隔开
3)对象
json表示对象中的元素必须是key-value对的形式,以"{"开始,"}"结束表示一个对象,对象中每个key-value对之间用","隔开,每个元素的key是String类型的,value可以是json支持的任意类型,且key与value之间用":"隔开
3.java中json格式的解析方法
Java中json的解析器有很多,如json-lib,org-json,fast-json,jackson等,下面是常用解析器fast-json的用法,当然首先都要官方下载jar包,导入到工程中或者以maven依赖的方式导入,才能使用。
fast-json解析json代码
...
import com.alibaba.fastjson.*;//导入alibaba的fastjson
...
public static void main(String[] args){
// json格式字符串
String json = "{"name":"baby","age":1}";
// 获取json对象
JSONObject obj = JSONObject.parseObject(json);
// 从json对象中获取元素并输出
String name = (String)obj.get("name");
int age = (Integer) object.get("age");
System.out.println(name);
System.out.println(age);
}
其他的解析器也都大同小异,详见API