JSON 字串和 JSON 物件之間的相互轉換
阿新 • • 發佈:2018-11-19
一、什麼是 JSON
- JSON 即 JavaScript Object Notation ,是一種輕量級的資料互動格式。
- 易於人閱讀和編寫,同時也易於機器解析和生成。
- JSON 完全獨立於語言之外,但語法上借鑑了 JavaScript。
- 輕量級:相對於XML,JSON 解析速度更快,文件更小。
<emp>
<name>Tom</name>
<city>北京</city>
<age>24</age>
</emp>
{"name":"Tom","city":"北京","age":24}
二、JSON 的結構
- “名稱/值” 對的集合。不同的語言理解為物件、記錄、結構、字典、雜湊表等。
- 值得有序列表。大部分語言中理解為陣列。
三、使用JSON 表示一個物件
- {屬性名:屬性值,屬性名:屬性值...}
- 注意:
- 屬性值可以是 String,number,boolean(true,false),null,object。
- 屬性名必須使用雙引號引起來。
- 屬性值如果是字串,必須使用雙引號括起來。
四、使用JSON 表示一個數組
- JSON 表示陣列的語法是:[value,value,value]。
- value 可以是簡單資料型別,也可以是 object、陣列型別。
//陣列
[
{"name":"Jerry","age":22},
{"name":"Tom","age":24}
];
//物件
{
"name":"Jerry",
"hobby":["sing","dance","eat"]
}
五、JSON 字串->JavaScript 物件
- 使用JavaScript 語言的原生函式:eval()
-
var str = '{"name":"張三","age":24}'; var obj = eval("("+str+")"); alert(obj.name);
2. 使用原生物件JSON 提供的 parse()方法
var str = '{"name":"王老賤","age":24}'; var obj = JSON.parse(str); alert(obj.name);
-
使用JSON.js 檔案為字串增減的方法
var str = '{"name":"王老賤","age":24}'; var obj = str.parseJSON(); alert(obj.name);
六、 Java 物件轉換為JSON 字串
- 引入必要的 jar 檔案
- commons - beanutils.jar
- commons - collections.jar
- common - lang.jar
- common - loggin.jar
- ezmorph.jar
- json - lib.jar
- 利用 JSON 官方提供的 API:JSONObject,JSONArray 提供的方法。
-
Employee emp = new Employee("1","王老賤","男"); JSONObject obj = JSONObject.fromObject(emp); String jsonStr = obj.toString();