/**
創(chuàng)新互聯(lián)公司于2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元興業(yè)做網(wǎng)站,已為上家服務(wù),為興業(yè)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
* 將json字符串轉(zhuǎn)換為對(duì)象的方法。
*
* @public
* @param json字符串
* @return 返回object,array,string等對(duì)象
**/
jQuery.extend({
/** * @see 將json字符串轉(zhuǎn)換為對(duì)象 * @param json字符串 * @return 返回object,array,string等對(duì)象 */
evalJSON: function(strJson) {
return eval("(" + strJson + ")");
}
});
eval函數(shù)語(yǔ)法
eval(codes);
codes -- 字符串形式的表達(dá)式或語(yǔ)句
eval函數(shù)返回值
如果沒(méi)有參數(shù),返回undefined
如果有返回值將返回此值,否則返回undefined
如果為表達(dá)式,返回表達(dá)式的值
如果為語(yǔ)句返回語(yǔ)句的值
如果為多條語(yǔ)句或表達(dá)式返回最后一條語(yǔ)句的值
在使用eval轉(zhuǎn)化字符串為json時(shí),必須要注意,字符串必須可以轉(zhuǎn)化成json對(duì)象,否則不能轉(zhuǎn)換,舉例如下
var?str?=?"?{?'?name?'?:?'?value?'}";
var?obj?=?eval('('+str+')');
通過(guò)eval方式進(jìn)行轉(zhuǎn)換。
舉例:
var?str?=?'{a:"1"}';//定義了一個(gè)string格式
var?json?=?eval('('+str?+?')');//通過(guò)eval轉(zhuǎn)換成json對(duì)象
補(bǔ)充:
eval加上圓括號(hào)的目的是迫使eval函數(shù)在處理JavaScript代碼的時(shí)候強(qiáng)制將括號(hào)內(nèi)的表達(dá)式(expression)轉(zhuǎn)化為對(duì)象,而不是作為語(yǔ) 句(statement)來(lái)執(zhí)行。舉一個(gè)例子,例如對(duì)象字面量{},如若不加外層的括號(hào),那么eval會(huì)將大括號(hào)識(shí)別為JavaScript代碼塊的開(kāi)始 和結(jié)束標(biāo)記,那么{}將會(huì)被認(rèn)為是執(zhí)行了一句空語(yǔ)句。
JSON.stringify(要轉(zhuǎn)換的object對(duì)象)。此方法返回的就是一個(gè)類(lèi)似于 {“name”:"張三","age":18} 這樣的字符串
用jQuery.parseJSON(str)來(lái)轉(zhuǎn)
接收一個(gè)JSON字符串,返回解析后的對(duì)象。
一般會(huì)這么寫(xiě)
$.parseJSON('"{test:1}"')
或者也可以
jQuery.parseJSON('"{test:1}"')
結(jié)果都是一樣的,轉(zhuǎn)換出來(lái)的就是json對(duì)象
當(dāng)然也可以選擇使用原生方法JSON.parse(str)同樣可以接收json字符串,轉(zhuǎn)成json對(duì)象
////擴(kuò)展添加序列化函數(shù),表單序列化json對(duì)象
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [ o[this.name] ];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
//調(diào)用:$('form表單').serializeObject();
網(wǎng)站題目:jquery轉(zhuǎn)換json,jquery轉(zhuǎn)換json字符串
網(wǎng)頁(yè)路徑:http://jinyejixie.com/article20/dsedsjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、網(wǎng)站改版、手機(jī)網(wǎng)站建設(shè)、域名注冊(cè)、微信公眾號(hào)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)