JSON

1、 什麼是JSON

JSON:全稱是JavaScript Object  Notation,也就是JavaScript Object Notationjavascript

JSON 是存儲和交換文本信息的語法。相似xmlphp

JSON 是輕量級的文本數據交換格式java

JSON 具備自我描述性,更易理解sql

 JSON 使用 JavaScript 語法來描述數據對象,可是 JSON 仍然獨立於語言和平臺。JSON 解析器和 JSON 庫支持許多不一樣的編程語言。編程

2、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";

3、JSON方法

首先我先說php json的方法

(1)php

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) }
 

(2)java

須要庫

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"]

(3)js

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部門"}]
相關文章
相關標籤/搜索