Javascript生成json的函數(shù)代碼(可以用php的json_decode解碼)
更新時(shí)間:2012年06月11日 17:33:08 作者:
這幾天迷上了JSON,連項(xiàng)目中一些XML的工作都交給了JSON,話說JSON真的比XML方便的多啊
但是有個(gè)問題
雖然JS解碼JSON非常方便,但是編碼似乎沒有什么好辦法…
本著能懶即懶,不能懶也盡量懶的原則,古狗了一下
還真讓我發(fā)現(xiàn)了
PHP里直接用json_decode就可以解碼,用起來相當(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非常方便,但是編碼似乎沒有什么好辦法…
本著能懶即懶,不能懶也盡量懶的原則,古狗了一下
還真讓我發(fā)現(xiàn)了
PHP里直接用json_decode就可以解碼,用起來相當(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ù)無法解析問題
- php5.2以下版本無json_decode函數(shù)的解決方法
- php json_encode與json_decode詳解及實(shí)例
- 關(guān)于php中的json_encode()和json_decode()函數(shù)的一些說明
- PHP實(shí)現(xiàn)json_decode不轉(zhuǎn)義中文的方法
- 使用PHP json_decode可能遇到的坑與解決方法
相關(guān)文章
深入淺析同源與跨域,jsonp(函數(shù)封裝),CORS原理
這篇文章主要介紹了同源與跨域,jsonp(函數(shù)封裝),CORS原理,從同源政策中Ajax限制,到跨域問題以及跨域問題的解決方法幫大家更加深入的去了解其中原理2021-08-08
JS對(duì)象與JSON格式數(shù)據(jù)相互轉(zhuǎn)換
最近遇到這個(gè)問題,JS對(duì)象和JSON格式數(shù)據(jù)的相互轉(zhuǎn)換。其實(shí),也就是兩個(gè)問題:JS對(duì)象轉(zhuǎn)換成為JSON格式數(shù)據(jù)、JSON格式數(shù)據(jù)轉(zhuǎn)換成為JS對(duì)象2012-02-02
JSON 入門教程基礎(chǔ)篇 json入門學(xué)習(xí)筆記
剛開始接觸json的時(shí)候感覺有點(diǎn)奇怪的命名,后來使用才發(fā)現(xiàn)這么簡(jiǎn)單而且用好用,擴(kuò)展性很強(qiáng),這里就為大家整理一下2020-09-09
JS解析后臺(tái)返回的JSON格式數(shù)據(jù)實(shí)例
今天小編就為大家分享一篇JS解析后臺(tái)返回的JSON格式數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
半個(gè)小時(shí)學(xué)json(json傳遞示例)
這篇文章主要介紹了半個(gè)小時(shí)學(xué)json(json傳遞示例),主要包括一維數(shù)組與二維數(shù)組,需要的朋友可以參考下2016-12-12
如何實(shí)現(xiàn)json數(shù)據(jù)可視化詳解
最近在工作中開發(fā)一個(gè)內(nèi)部功能時(shí)碰到的一個(gè)需求,要把json數(shù)據(jù)在頁(yè)面上展示出來,平時(shí)瀏覽器會(huì)安裝jsonView這樣的擴(kuò)展來看json數(shù)據(jù),但是程序要用到的話該怎么辦呢?今天在網(wǎng)上搜索的時(shí)候,發(fā)現(xiàn)了這個(gè)小技巧,分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧2016-11-11

