JSON數據格式

一、JSON定義

JSON(JavaScript Object Notation)是一種輕量級的與語言無關的數據交換格式。它基於 ECMAScript 的一個子集。

JSON 採用完全獨立於語言的文本格式,但是也使用了類似於 C 語言家族的習慣。這些特性使 JSON 成爲理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提升網絡傳輸速率)。

二、JSON的作用:

  • 使用 Ajax 進行前後臺數據交換
  • 移動端與服務端的數據交換

三、JSON的數據格式

JSON 有兩種格式:

  • 對象格式:{“key1”:obj,“key2”:obj,“key3”:obj…}
  • 數組/集合格式:[obj,obj,obj…]

例如:
user 對象,用 JSON 數據格式表示:

{"username":"zhangsan","age":28,"password":"123","addr":"北京"}

List 用JSON數據格式表示:

[{"pid":"10","pname":"小米4C"},{...},...]

注意:對象格式和數組格式可以互相嵌套,互相包含。
注意:JSON 的 key 是字符串,JSON 的 value 是 Object。

四、JSON的解析:

JSON 是 JS 的原生內容,也就意味着 JS 可以直接取出 JSON 對象中的數據。

五、JSON的轉換插件

在實際的開發中,我們經常會使用 JSON 串作爲數據傳輸的載體,例如瀏覽器端頁面中的 JS 與服務端的數據交互,Android/IOS 移動端與服務端的數據交互都大量使用JSON。

但我們發現,使用 Java 代碼手動拼接 JSON 串是一個很耗時很繁瑣的事情,所以一批json的自動轉換的工具出現了。即可以自動的將對象、數組、集合等轉換成 JSON 串,也可以將一個JSON串轉成對象、數組和集合。

常用的JSON轉換工具有如下幾種:

  • jsonlib: 是一個 Java 類庫,開發時需要導入6個 jar 包
  • Gson:Google產品
  • Fastjson:阿里巴巴技術團隊的產品,號稱是最快的JSON轉換工具

使用 Fastjson 工具示例(真方便!):

public static void main(string[] args) {
Student stu1 = new Student("jack", 20);
Student stu2 = new Student("rose",19);
Student stu3 = new Student("tom",18);
// 對象的轉換
String jsonString = JSON.toJSONString(stu1);
System.out.println(jsonString);
Student parseObject = JSON.parseObject(jsonString, Student.class);
System.out.println(parseObject);

// 數組的轉換
List<Student> list = new ArrayList<Student>();
list.add(stu1);
list.add(stu2);
list.add(stu3);
string jsonString2 = JSON.toJSONstring(list);
System.out.println(jsonString2);
List<student> parseArray = JSON.parseArray(isonString2, Student.class);
System. out.println(parseArray);
}

效果:
在這裏插入圖片描述

發佈了18 篇原創文章 · 獲贊 25 · 訪問量 953
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章