1. 程式人生 > >JSON 字串和 JSON 物件之間的相互轉換

JSON 字串和 JSON 物件之間的相互轉換

一、什麼是 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 的結構

  1.  “名稱/值” 對的集合。不同的語言理解為物件、記錄、結構、字典、雜湊表等。
  2.  值得有序列表。大部分語言中理解為陣列。

三、使用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 物件

  1.  使用JavaScript 語言的原生函式:eval()
  2. 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);

     

  3. 使用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();