Json格式转化为string格式
今天在学习Jsonp的时候,想通过服务端返回一段json数据,因为使用的服务端是NodeJs,那么就需要在js文件中实现返回json。(这里不懂的同学,可以先了解一下NodeJs的基础概念,在这里,我想大家推荐一个Nodejs视频 http://www.icoolxue.com/album/show/89)。
首先,我们有这样一个json格式
var json={name:"xlt",age:}
如果我们直接把上面这个”json对象“返回给客户端,那么客户端都不知道怎么接受(至于为什么客户端接受不了,可以查询一下html相关的文档),所以这个把我们就需要把这个对象转化为一个字符串,然后在返回给客户端。因此我自己写了一个转化方法
//入口方法
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(',')+']';
}
然后,我们现在使用这个方法,就可以得到相应的字符串,由于代码比较简单,就不做详解了。
当然对于比较复杂的json对象,我也做了考虑。比如说
var json={name:"xlt",age:25,sister:{name:"xlp",age:28}};
或者更复杂的下面这种
var json={name:"xlt",age:25,sister:[{name:"xlp",age:28},{name:"xll",age:29}]};
最后呢,我从网上找了一些关于json转化的资料。大家可以参考一下 https://github.com/douglascrockford/JSON-js/blob/master/json2.js。
Json格式转化为string格式的更多相关文章
- TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式
本文承接上文 TensorFlow-slim 训练 CNN 分类模型(续),阐述通过 tf.contrib.slim 的函数 slim.learning.train 训练的模型,怎么通过人为的加入数据 ...
- 腾讯下载的视频qlv格式转化为MP4格式
最近在看腾讯视频的时候发现下载下来的视频格式都是qlv格式,且不能用其他播放器播放,甚是恼怒,网上找了很多方法都很繁琐,于是自己写了一个小程序来处理这个问题.把下载下来的qlv格式转化为MP4格式 首 ...
- 安装.cer证书并将证书从.cer格式转化为.pem格式
## 安装.cer证书并将证书从.cer格式转化为.pem格式 ### 安装.cer证书到本地 打开*运行*窗口 输入MMC.exe, 单击*确定* 在打开的控制台1的窗口中. 选择*文件*, 选择* ...
- 将搜狗词库.scel格式转化为.txt格式
由于项目中要用到词库,而下载的搜狗词库是.scel格式,所以就用python脚本将搜狗词库.scel格式文件转化为.txt格式文件. #!/bin/python # -*- coding: utf-8 ...
- DGN格式转化为shp格式 【转】
其实本来,我就是需要把一个autocad的dwg/dgn格式的东西导入到google earth里面:但是首先我对dwg/dgn格式的东西根本就不熟:其次我拿到的dwg/dgn格式文件是用的HK80 ...
- 在js中 把 json对象转化为String对象的方法
方法1: 使用js的扩展方法 ** * json对象转字符串形式 */ function json2str(o) { var arr = []; var fmt = function(s) { if ...
- RGB格式图像转化为HSV格式
注:在阴影检测算法中经常需要将RGB格式的图像转化为HSV格式,对于阴影区域而言,它的色度和饱和度相对于原图像而言变化不大,主要是亮度信息变化较大,,将RGB格式转化为HSV格式,就可以得到H.S.V ...
- 总结的一些json格式和对象/String/Map/List等的互转工具类
总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...
- $.Ajax({});方法使用 返回json格式 string格式
//Json格式 $.ajax({ url: url + "?action=Save1", type: "post", dataType: "json ...
随机推荐
- SAP HR宏 rp-provide-from-last
运行se11 Database table: 输入 TRMAC 点击display 查看其内容:第14个按钮(ctrl + shift +F10) 再Name 输入:rp-provide-from-l ...
- Candy Store
Candy Store Time Limit: 30000ms, Special Time Limit:75000ms, Memory Limit:65536KB Total submit users ...
- codeforces 340C Tourist Problem
link:http://codeforces.com/problemset/problem/340/C 开始一点也没思路,赛后看别人写的代码那么短,可是不知道怎么推出来的啊! 后来明白了. 首先考虑第 ...
- CSS3-transition,过渡实例
过渡:transition[由Webkit内核浏览器提出] 通过CSS实现元素从一个样式渐变成另一个种. IE不支持,其他需后缀. transition:transition-property/dur ...
- Objective-c——UI基础开发第十一天(UICollectionView)
一.知识点 1.UICollectionView的dataSource .delegate 2.UICollectionView多组数据和单组数据的展示 3.UICollectionView.UICo ...
- 《C与指针》第四章练习
本章问题 1.Is the following statement legal?If so,what does it do? (下面的语句是否合法,如果合法,它做了什么) 3 * x * x - 4 ...
- CDH自己安装方式Hbase master备份方式
hbase-daemon.sh start master 启动改命令会默认产生Hmaster 进程,等待主机宕机,zookeepr 监控
- codeforces 381 D Alyona and a tree(倍增)(前缀数组)
Alyona and a tree time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- MyBatis架构(转)
本文来自http://www.bubuko.com/infodetail-549184.html 如果不太熟悉MyBatis使用的请先参见MyBatis官方文档,这对理解其架构设计和源码分析有很大好处 ...
- nodejs初探(三)实现一个简单的socket交互
看一下nodejs中通过socket和客户端交互的最简单例子 // Sever --> Client 的单向通讯 var net = require('net'); var chatServe ...