jquery字符串轉(zhuǎn)對象,js中字符串轉(zhuǎn)對象

jquery parseJSON() 是什么的

jQuery.parseJSON()函數(shù)用于將格式完好的JSON字符串轉(zhuǎn)為與之對應(yīng)的JavaScript對象。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了左貢免費建站歡迎大家使用!

所謂"格式完好",就是要求指定的字符串必須符合嚴(yán)格的JSON格式,例如:屬性名稱必須加雙引號、字符串值也必須用雙引號。

如果傳入一個格式不"完好"的JSON字符串將拋出一個JS異常,例如:以下字符串均符合JSON格式,但它們不是格式完好的JSON字符串(因此會拋出異常):

//

以下均是字符串值,省略了兩側(cè)的引號,以便于展現(xiàn)內(nèi)容

{id:

1}

//

id是屬性名稱,必須加雙引號

{'id':

1}

//

id是屬性名稱,必須用雙引號(不能用單引號)

{"name":

'CodePlayer'}

//

name屬性的值是字符串,必須用雙引號(不能用單引號)

JSON標(biāo)準(zhǔn)不允許字符串中出現(xiàn)"控制字符",例如:一個Tab或換行符。

$.parseJSON('{"name":

"Code\tPlayer\n"}');

//

多數(shù)情況下,它會拋出一個錯誤,因為JS解析器會將字符串中的\t或\n等轉(zhuǎn)義直接視作字面值,起到Tab或換行的效果。

//正確寫法應(yīng)該如下(使用兩個反斜杠,以免被JS解析器直接轉(zhuǎn)義\t或\n):

$.parseJSON('{"name":

"Code\\tPlayer\\n"}');

如果瀏覽器提供了一個本地的JSON.parse()方法,則jQuery將使用它來解析JSON字符串。

在jQuery

1.9之前(不含1.9):如果傳入一個空字符串、null或undefined,該函數(shù)將返回null,而不是拋出一個錯誤,即使它不是有效的JSON字符串。

該函數(shù)屬于全局的jQuery對象。

jquery字符串轉(zhuǎn)json對象

jQuery中使用jQuery.parseJSON()方法將字符串轉(zhuǎn)為json格式

例如:

jQuery.parseJSON('{"test":1}');

注意:

傳入格式有誤的 JSON 字符串可能導(dǎo)致拋出異常。例如,下面這些無效的 JSON 字符串:

{test: 1} //(test 沒有使用雙引號包裹).

{'test': 1} //('test' 用了單引號而不是雙引號包裹).

"{test: 1}" //(test 沒有使用雙引號包裹).

"{'test': 1}" //('test' 用了單引號而不是雙引號包裹).

"'test'" //('test' 用單引號代替雙引號).

".1" //(number 必須以數(shù)字開頭; "0.1" 將是有效的).

"undefined"http:// (undefined 不能表示一個 JSON 字符串; 然而null,可以).

"NaN" //(NaN 不能表示一個 JSON 字符串; 用Infinity直接表示無限也是不允許的).

擴展:

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于ECMAScript的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成(網(wǎng)絡(luò)傳輸速率)。

jquery中json對象轉(zhuǎn)為普通字符串

serialize()返回值是字符串。

serializeArray()此方法返回的是JSON對象而非JSON字符串。需要使用插件或者第三方庫進行字符串化操作。

jquery1.4API中有個例子是這么把JSON對象轉(zhuǎn)成字符串的。

示例

描述:

取得表單內(nèi)容并插入到網(wǎng)頁中。

HTML 代碼:

p id="results"bResults:/b /p

form

select name="single"

optionSingle/option

optionSingle2/option

/select

select name="multiple" multiple="multiple"

option selected="selected"Multiple/option

optionMultiple2/option

option selected="selected"Multiple3/option

/selectbr/

input type="checkbox" name="check" value="check1"/ check1

input type="checkbox" name="check" value="check2" checked="checked"/ check2

input type="radio" name="radio" value="radio1" checked="checked"/ radio1

input type="radio" name="radio" value="radio2"/ radio2

/form

jQuery 代碼:

var fields = $("select, :radio").serializeArray();

jQuery.each( fields, function(i, field){

$("#results").append(field.value + " ");

});

用jquery eval() 方法把字符串轉(zhuǎn)換為json .

eval函數(shù)語法

eval(codes);

codes -- 字符串形式的表達式或語句

eval函數(shù)返回值

如果沒有參數(shù),返回undefined

如果有返回值將返回此值,否則返回undefined

如果為表達式,返回表達式的值

如果為語句返回語句的值

如果為多條語句或表達式返回最后一條語句的值

在使用eval轉(zhuǎn)化字符串為json時,必須要注意,字符串必須可以轉(zhuǎn)化成json對象,否則不能轉(zhuǎn)換,舉例如下

var?str?=?"?{?'?name?'?:?'?value?'}";

var?obj?=?eval('('+str+')');

Jquery怎么將一個object對象轉(zhuǎn)換成json字符串

JSON.stringify(要轉(zhuǎn)換的object對象)。此方法返回的就是一個類似于 {“name”:"張三","age":18} 這樣的字符串

jQuery怎么把JSON格式的字符串轉(zhuǎn)換為JSON對象

/**

* 將json字符串轉(zhuǎn)換為對象的方法。

*

* @public

* @param json字符串

* @return 返回object,array,string等對象

**/

jQuery.extend({

/** * @see 將json字符串轉(zhuǎn)換為對象 * @param json字符串 * @return 返回object,array,string等對象 */

evalJSON: function(strJson) {

return eval("(" + strJson + ")");

}

});

分享文章:jquery字符串轉(zhuǎn)對象,js中字符串轉(zhuǎn)對象
文章源于:http://muchs.cn/article38/phessp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、響應(yīng)式網(wǎng)站、定制網(wǎng)站、微信小程序關(guān)鍵詞優(yōu)化、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)