JSON:全稱是JavaScript Object Notation,也就是JavaScript Object Notationjavascript
JSON 是存儲和交換文本信息的語法。相似xmlphp
JSON 是輕量級的文本數據交換格式java
JSON 具備自我描述性,更易理解sql
JSON 使用 JavaScript 語法來描述數據對象,可是 JSON 仍然獨立於語言和平臺。JSON 解析器和 JSON 庫支持許多不一樣的編程語言。編程
JSON值能夠是 數字,字符串,Boolean類型值,數組,對象,nulljson
1.JSON對象在花括號中書寫:對象能夠包含多個名稱、值對數組
{ "firstName":"John" , "lastName":"Doe" }
這一點也容易理解,與這條JavaScript語句等價app
firstName = "John" lastName = "Doe"
2.JSON數組在方括號中書寫:編程語言
數組可包含多個對象post
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
JSON 使用JavaScript 語法
由於 JSON 使用 JavaScript 語法,因此無需額外的軟件就能處理 JavaScript 中的 JSON。
經過 JavaScript,您能夠建立一個對象數組,並像這樣進行賦值:
var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ]; employees[0].lastName; Gates employees[0].lastName = "Jobs";
首先我先說php json的方法
json_encode() 數組轉json
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?> {"a":1,"b":2,"c":3,"d":4,"e":5}
像這種也能夠
$obj->body = 'another post'; $obj->id = 21; $obj->approved = true; $obj->favorite_count = 1; $obj->status = NULL; echo json_encode($obj); { "body":"another post", "id":21, "approved":true, "favorite_count":1, "status":null }
因爲json只接受utf-8編碼的字符,因此json_encode()的參數必須是utf-8編碼,不然會獲得空字符或者null。當中文使用GB2312編碼,或者外文使用ISO-8859-1編碼的時候,這一點要特別注意。
json_decode json轉數組
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); echo"<br/>"; var_dump(json_decode($json, true)); ?> { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) }
須要庫
commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.1.jar commons-logging-1.1.3.jar ezmorph-1.0.2.jar json-lib-2.4-jdk15.jar
轉換方法
//對象轉json sqlModel model = new sqlModel(); model.setAge(18); model.setHeight(188.0); model.setName("張三"); String jsonStr = null; try { JSONObject jsonObject = JSONObject.fromObject(model); jsonStr = jsonObject.toString(); System.out.println(jsonStr); } catch (Exception e) { System.out.println("數組轉json失敗"); } 結果: {"age":18,"height":188,"name":"張三"} //數組轉json String jsonStr = null; try { JSONArray jsonObject = JSONArray.fromObject(myNameList); jsonStr = jsonObject.toString(); System.out.println(jsonStr); } catch (Exception e) { System.out.println("數組轉json失敗"); } 結果:["aaaa","bbbb","cccc","cc","zzl","zzl","zzl","zzl", "zzl","zzl","zzl","zzl","zzl","zzl","zzl","zzl","zzl","zzl"]
json類型的字符串轉換爲json對象及取值 var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse(jsonString); //轉換爲json對象 xonsole(jsObject.baz); //取json中的值 輸出 3 json對象轉爲json類型的字符串 var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse(jsonString); //轉換爲json對象 var st = JSON.stringify(jsObject); //轉換爲json類型的字符串 console.log(st) 輸出 {"bar":"property","baz":3} json數組類型的字符串轉換爲json及取值 和json對象轉換爲轉換爲json字符串 var arr = [{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"011","open":false,"pId":"01","name":"A部門"},{"id":"03","open":false,"pId":"0","name":"A部門"},{"id":"04","open":false,"pId":"0","name":"A部門"}, {"id":"05","open":false,"pId":"0","name":"A部門"}, {"id":"06","open":false,"pId":"0","name":"A部門"}]; var jsonStr=JSON.stringify( arr ); //jsonStr '[{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"011","open":false,"pId":"01","name":"A部門"},{"id":"03","open":false,"pId":"0","name":"A部門"},{"id":"04","open":false,"pId":"0","name":"A部門"}, {"id":"05","open":false,"pId":"0","name":"A部門"}, {"id":"06","open":false,"pId":"0","name":"A部門"}]' var jsonObj = JSON.parse(jsonStr);//轉換爲json對象 for(var i=0;i<jsonObj.length;i++){ console.log(jsonObj[i].id); //取json中的值 } console.log(jsonObj) var jsonStr1 = JSON.stringify(jsonObj) console.log(jsonStr1) 輸出 01 01 011 03 04 05 06 (7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}] [{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"011","open":false,"pId":"01","name":"A部門"},{"id":"03","open":false,"pId":"0","name":"A部門"},{"id":"04","open":false,"pId":"0","name":"A部門"},{"id":"05","open":false,"pId":"0","name":"A部門"},{"id":"06","open":false,"pId":"0","name":"A部門"}]