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

JSON物件與JSON字串之間的轉換

JavaScript中:

        JSON物件轉JSON字串(推薦

[html]  view plain  copy
  1. var obj = {id:1,code:2};  
  2. JSON.stringify(obj);  

        JSON字串轉JSON物件

方法一推薦

[html]  view plain  copy
  1. var string = '{"id":"1","code":"2"}';  
  2. JSON.parse(string);  
[html]  view plain  copy
  1. 單引號寫在{}外,每個屬性名都必須用雙引號,必須按照這個的格式。  

方法二(不推薦):

[html]  view plain  copy
  1. eval('(' + jsonstr + ')');  
[html]  view plain  copy
  1. JSON字串兩邊需要加上小括號來拼接,但是eval會執行JSON字串中的表示式,不安全  
[html]  view plain  copy
  1. 在程式碼中使用eval是很危險的,特別是用它執行第三方的JSON資料(其中可能包含惡意程式碼)時,儘可能使用JSON.parse()方法解析字串本身。  
  2. 該方法可以捕捉JSON中的語法錯誤,並允許你傳入一個函式,用來過濾或轉換解析結果。如果此方法以備Firfox 3.5 、IE8 及 Safari 4 原生支援。  
  3. 大多數javascript類庫包含的JSON解析程式碼會直接呼叫原生版本,如果沒有原生支援的話,會呼叫一個略微不那麼強大的非原生版本來處理。  

        輸出並檢視JSON內容

在使用console.log()輸出JSON時發現了一個要注意的地方,直接輸出可以檢視內容,如果是拼接字串,則JSON會被轉成某種格式的字串拼接。

[html]  view plain  copy
  1. var a={id:"1"};  
  2. console.log("a:"+a);  
  3. console.log(a);  

         建立JSON物件

[html]  view plain  copy
  1. window.$fq={};  
我這裡是建立的一個全域性的空JSON物件;

        JSON物件增、刪元素

[html]  view plain  copy
  1. 增:  
  2.     $fq["id"]=1;  
  3. 刪:  
  4.     delete $fq["id"];