Json格式转化为string格式
今天在學(xué)習(xí)Jsonp的時(shí)候,想通過服務(wù)端返回一段json數(shù)據(jù),因?yàn)槭褂玫姆?wù)端是NodeJs,那么就需要在js文件中實(shí)現(xiàn)返回json。(這里不懂的同學(xué),可以先了解一下NodeJs的基礎(chǔ)概念,在這里,我想大家推薦一個(gè)Nodejs視頻 ?http://www.icoolxue.com/album/show/89)。
首先,我們有這樣一個(gè)json格式
var json={name:"xlt",age:25}如果我們直接把上面這個(gè)”json對(duì)象“返回給客戶端,那么客戶端都不知道怎么接受(至于為什么客戶端接受不了,可以查詢一下html相關(guān)的文檔),所以這個(gè)把我們就需要把這個(gè)對(duì)象轉(zhuǎn)化為一個(gè)字符串,然后在返回給客戶端。因此我自己寫了一個(gè)轉(zhuǎn)化方法
//入口方法 function json2str(obj) {var S = [];for(var i in obj){obj[i] = typeof obj[i] == 'string'?'"'+obj[i]+'"':(Object.prototype.toString.apply(obj[i]) === '[object Object]'?json2str(obj[i]):(Object.prototype.toString.apply(obj[i]) === '[object Array]'?array2str(obj[i]):obj[i]));S.push(i+':'+obj[i]); }return '{'+S.join(',')+'}'; } //輔助方法 function array2str(array) {var S=[];var ret;for(var i=0;i<array.length;i++){ret= json2str(array[i]);S.push(ret);}return '['+S.join(',')+']'; }?
然后,我們現(xiàn)在使用這個(gè)方法,就可以得到相應(yīng)的字符串,由于代碼比較簡(jiǎn)單,就不做詳解了。? 當(dāng)然對(duì)于比較復(fù)雜的json對(duì)象,我也做了考慮。比如說(shuō)
var json={name:"xlt",age:25,sister:{name:"xlp",age:28}}; 或者更復(fù)雜的下面這種?
var json={name:"xlt",age:25,sister:[{name:"xlp",age:28},{name:"xll",age:29}]};?
?最后呢,我從網(wǎng)上找了一些關(guān)于json轉(zhuǎn)化的資料。大家可以參考一下 ??https://github.com/douglascrockford/JSON-js/blob/master/json2.js。
?轉(zhuǎn)載于:https://www.cnblogs.com/qiao-xi/p/3903251.html
總結(jié)
以上是生活随笔為你收集整理的Json格式转化为string格式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (数据库系统概论|王珊)第九章关系查询处
- 下一篇: (王道408考研操作系统)第三章内存管理