js 將json字串轉換為json物件的方法解析
1>jQuery外掛支援的轉換方式:
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件
2>瀏覽器支援的轉換方式(Firefox,chrome,opera,safari,ie9,ie8)等瀏覽器:
JSON.parse(jsonstr); //可以將json字串轉換成json物件
JSON.stringify(jsonobj); //可以將json物件轉換成json對符串
注:ie8(相容模式),ie7和ie6沒有JSON物件,推薦採用JSON官方的方式,引入json.js。
3>Javascript支援的轉換方式:
eval('(' + jsonstr + ')'); //可以將json字串轉換成json物件,注意需要在json字元外包裹一對小括號
注:ie8(相容模式),ie7和ie6也可以使用eval()將字串轉為JSON物件,但不推薦這些方式,這種方式不安全eval會執行json串中的表示式。
4>JSON官方的轉換方式:
http://www.json.org/提供了一個json.js,這樣ie8(相容模式),ie7和ie6就可以支援JSON物件以及其stringify()和parse()方法;
可以在https://github.com/douglascrockford/JSON-js上獲取到這個js,一般現在用json2.js。
例如:
JSON字串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON物件:
var str2 = { "name": "cxh", "sex": "man" };
一、JSON字串轉換為JSON物件
要使用上面的str1,必須使用下面的方法先轉化為JSON物件:
//由JSON字串轉換為JSON物件
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字串轉換為JSON物件
或者
var obj = JSON.parse(str); //由JSON字串轉換為JSON物件
然後,就可以這樣讀取:
Alert(obj.name);
Alert(obj.sex);
特別注意:如果obj本來就是一個JSON物件,那麼使用eval()函式轉換後(哪怕是多次轉換)還是JSON物件,但是使用parseJSON()函式處理後會有問題(丟擲語法異常)。
二、可以使用toJSONString()或者全域性方法JSON.stringify()將JSON物件轉化為JSON字串。
例如:
var last=obj.toJSONString(); //將JSON物件轉化為JSON字元
或者
var last=JSON.stringify(obj); //將JSON物件轉化為JSON字元
alert(last);
注意:
上面的幾個方法中,除了eval()函式是js自帶的之外,其他的幾個方法都來自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個方法都注入到了 Javascript 的內建物件裡面,前者變成了 Object.toJSONString(),而後者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則說明您的json包版本太低。
相關文章
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- eval()將JSON格式字串轉換為物件JSON字串物件
- JavaScript將JSON格式字串轉換為物件JavaScriptJSON字串物件
- js 將json字串轉換為json格式物件程式碼例項JSON字串物件
- JavaScript:如何將JSON物件轉換成JSON字串呢JavaScriptJSON物件字串
- json字串和json格式物件的轉換JSON字串物件
- jquery實現將字串轉換為json格式物件jQuery字串JSON物件
- java json字串轉換為物件,轉換為listJavaJSON字串物件
- JSON字串轉換為物件直接量JSON字串物件
- javascript如何將字串轉換成json格式物件JavaScript字串JSON物件
- Java將Boolean轉為Json物件的方法JavaBooleanJSON物件
- $.parseJSON()方法將json資料轉換為物件直接量JSON物件
- json字串與物件互相轉換JSON字串物件
- JS json字串轉物件、物件轉字串JSON字串物件
- eval() JSON轉換為物件JSON物件
- 將json格式物件轉換為查詢字串程式碼例項JSON物件字串
- 將物件解析為JSON資料和將JSON資料解析為物件的簡單例項物件JSON單例
- Json物件與Json字串互轉JSON物件字串
- Android中實現JSON字串和JSON物件的轉換AndroidJSON字串物件
- JS字串轉換為JSON的四種方法筆記字串JSON筆記
- js把json字串轉成json物件JSON字串物件
- js物件轉json字串物件JSON字串
- json字串 轉換為陣列JSON字串陣列
- 將json字串轉換成list<T>JSON字串
- php陣列轉換為json,json又轉化為php物件。PHP陣列JSON物件
- java將物件轉為json的方式Java物件JSON
- json字串和js物件之間相互轉換JSON字串物件
- JSON.NET框架實現C#物件和JSON字串的轉換JSON框架C#物件字串
- 使用eval()將json字串轉換為物件要多加一個小括號JSON字串物件
- fastjson: json物件,json物件陣列,javabean物件,json字串之間的相互轉化ASTJSON物件陣列JavaBean字串
- 將json格式物件轉換成陣列物件JSON物件陣列
- js jquery 列印物件;json 物件轉字串jQuery物件JSON字串
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- Java中將Excel轉換為JSON的兩種方法JavaExcelJSON
- 解析Json字串的三種方法JSON字串
- json 物件與json 字串的區別。JSON物件字串
- 將Json資料轉換為ADO.NET DataSet物件JSON物件
- JavaScript 字串與json物件互轉的幾種方法JavaScript字串JSON物件