Javascript生成json的函數(shù)代碼(可以用php的json_decode解碼)
更新時(shí)間:2012年06月11日 17:33:08 作者:
這幾天迷上了JSON,連項(xiàng)目中一些XML的工作都交給了JSON,話說(shuō)JSON真的比XML方便的多啊
但是有個(gè)問(wèn)題
雖然JS解碼JSON非常方便,但是編碼似乎沒(méi)有什么好辦法…
本著能懶即懶,不能懶也盡量懶的原則,古狗了一下
還真讓我發(fā)現(xiàn)了
PHP里直接用json_decode就可以解碼,用起來(lái)相當(dāng)方便
function json_encode_js(aaa){
function je(str){
var a=[],i=0;
var pcs="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (;i<str.length;i++){
if(pcs.indexOf(str[i]) == -1)
a[i]="\\u"+("0000"+str.charCodeAt(i).toString(16)).slice(-4);
else
a[i]=str[i];
}
return a.join("");
}
var i,s,a,aa=[];
if(typeof(aaa)!="object") {alert("ERROR json");return;}
for(i in aaa){
s=aaa[i];
a='"'+je(i)+'":';
if(typeof(s)=='object'){
a+=json_encode_js(s);
}else{
if(typeof(s)=='string')
a+='"'+je(s)+'"';
else if(typeof(s)=='number')
a+=s;
}
aa[aa.length]=a;
}
return "{"+aa.join(",")+"}";
}
雖然JS解碼JSON非常方便,但是編碼似乎沒(méi)有什么好辦法…
本著能懶即懶,不能懶也盡量懶的原則,古狗了一下
還真讓我發(fā)現(xiàn)了
PHP里直接用json_decode就可以解碼,用起來(lái)相當(dāng)方便
復(fù)制代碼 代碼如下:
function json_encode_js(aaa){
function je(str){
var a=[],i=0;
var pcs="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (;i<str.length;i++){
if(pcs.indexOf(str[i]) == -1)
a[i]="\\u"+("0000"+str.charCodeAt(i).toString(16)).slice(-4);
else
a[i]=str[i];
}
return a.join("");
}
var i,s,a,aa=[];
if(typeof(aaa)!="object") {alert("ERROR json");return;}
for(i in aaa){
s=aaa[i];
a='"'+je(i)+'":';
if(typeof(s)=='object'){
a+=json_encode_js(s);
}else{
if(typeof(s)=='string')
a+='"'+je(s)+'"';
else if(typeof(s)=='number')
a+=s;
}
aa[aa.length]=a;
}
return "{"+aa.join(",")+"}";
}
您可能感興趣的文章:
- php中json_decode()和json_encode()的使用方法
- 淺析php中json_encode()和json_decode()
- PHP json_decode函數(shù)詳細(xì)解析
- PHP中遇到BOM、<feff>編碼導(dǎo)致json_decode函數(shù)無(wú)法解析問(wèn)題
- php5.2以下版本無(wú)json_decode函數(shù)的解決方法
- php json_encode與json_decode詳解及實(shí)例
- 關(guān)于php中的json_encode()和json_decode()函數(shù)的一些說(shuō)明
- PHP實(shí)現(xiàn)json_decode不轉(zhuǎn)義中文的方法
- 使用PHP json_decode可能遇到的坑與解決方法
相關(guān)文章
json.stringify()與json.parse()的區(qū)別以及用處
這篇文章主要介紹了json.stringify()與json.parse()的區(qū)別以及用處,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01javascript表單域與json數(shù)據(jù)間的交互
找了幾個(gè)javascript的框架,都沒(méi)有找到我想要的: 提供函數(shù),把某個(gè)表單的所有域封裝成json數(shù)據(jù)格式的對(duì)象,唯有自己實(shí)現(xiàn)一個(gè)。2008-10-10js+json用表格實(shí)現(xiàn)簡(jiǎn)單網(wǎng)站左側(cè)導(dǎo)航
閑暇之余,制作一用表格實(shí)現(xiàn)的簡(jiǎn)單的網(wǎng)站導(dǎo)航條,分享給大家。這里的數(shù)據(jù)基于json格式,學(xué)習(xí)json的朋友可以參考下。2010-04-04深入淺析同源與跨域,jsonp(函數(shù)封裝),CORS原理
這篇文章主要介紹了同源與跨域,jsonp(函數(shù)封裝),CORS原理,從同源政策中Ajax限制,到跨域問(wèn)題以及跨域問(wèn)題的解決方法幫大家更加深入的去了解其中原理2021-08-08JS中JSON.parse(JSON.stringify())實(shí)現(xiàn)深拷貝
深拷貝就是完全拷貝一份新的對(duì)象,本文主要介紹了JS中JSON.parse(JSON.stringify())實(shí)現(xiàn)深拷貝,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08