今天在学习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格式的更多相关文章

  1. TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式

    本文承接上文 TensorFlow-slim 训练 CNN 分类模型(续),阐述通过 tf.contrib.slim 的函数 slim.learning.train 训练的模型,怎么通过人为的加入数据 ...

  2. 腾讯下载的视频qlv格式转化为MP4格式

    最近在看腾讯视频的时候发现下载下来的视频格式都是qlv格式,且不能用其他播放器播放,甚是恼怒,网上找了很多方法都很繁琐,于是自己写了一个小程序来处理这个问题.把下载下来的qlv格式转化为MP4格式 首 ...

  3. 安装.cer证书并将证书从.cer格式转化为.pem格式

    ## 安装.cer证书并将证书从.cer格式转化为.pem格式 ### 安装.cer证书到本地 打开*运行*窗口 输入MMC.exe, 单击*确定* 在打开的控制台1的窗口中. 选择*文件*, 选择* ...

  4. 将搜狗词库.scel格式转化为.txt格式

    由于项目中要用到词库,而下载的搜狗词库是.scel格式,所以就用python脚本将搜狗词库.scel格式文件转化为.txt格式文件. #!/bin/python # -*- coding: utf-8 ...

  5. DGN格式转化为shp格式 【转】

    其实本来,我就是需要把一个autocad的dwg/dgn格式的东西导入到google earth里面:但是首先我对dwg/dgn格式的东西根本就不熟:其次我拿到的dwg/dgn格式文件是用的HK80 ...

  6. 在js中 把 json对象转化为String对象的方法

    方法1: 使用js的扩展方法 ** * json对象转字符串形式 */ function json2str(o) { var arr = []; var fmt = function(s) { if ...

  7. RGB格式图像转化为HSV格式

    注:在阴影检测算法中经常需要将RGB格式的图像转化为HSV格式,对于阴影区域而言,它的色度和饱和度相对于原图像而言变化不大,主要是亮度信息变化较大,,将RGB格式转化为HSV格式,就可以得到H.S.V ...

  8. 总结的一些json格式和对象/String/Map/List等的互转工具类

    总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...

  9. $.Ajax({});方法使用 返回json格式 string格式

    //Json格式 $.ajax({ url: url + "?action=Save1", type: "post", dataType: "json ...

随机推荐

  1. NSString字符串

    要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByReplacingOccurrences ...

  2. HTML中的按钮

    html中的五种按钮 (1)<button></button> 表单外调用一个js文件时使用 (2)<input type="button" valu ...

  3. c++ 语言细节

    #include <iostream>using namespace std;int main(){     cout << "\nHello World!\n&qu ...

  4. JavaWeb用Jdbc操作MySql数据库(二)

    一.仍然使用前面的环境和示例数据库. 二.建立发出注册请求的页面index3.jsp. <%@ page language="java" import="java. ...

  5. JS特殊函数(Function()构造函数、函数直接量)区别介绍

    函数定义 函数是由这样的方式进行声明的:关键字 function.函数名.一组参数,以及置于括号中的待执行代码. 函数的构造语法有这三种: 1.function functionName(arg0, ...

  6. C#先执行一段sql等后台操作后再提示是否后续操作confrim

    应用场景:例如选择一个单据号打击打印后先去数据库检索是否有打打印过,如果有则提示,已打印,是否再打 如果没有则不提示,直接进行打印. 实现原理:多做一个隐藏按钮去实现打印功能,页面上的打印按钮则进行数 ...

  7. Mybatis知识点总结

    ---恢复内容开始--- Mybatis知识点总结 1.#{}和${}的区别是什么? 答:#{}的使用场景:在表的sql映射文件中如下使用: <mapper namespace="co ...

  8. [家里蹲大学数学杂志]第041期中山大学数计学院 2008 级数学与应用数学专业《泛函分析》期末考试试题 A

    1 ( 10 分 ) 设 $\mathcal{X}$ 是 Banach 空间, $f$ 是 $\mathcal{X}$ 上的线性泛函. 求证: $f\in \mathcal{L}(\mathcal{X ...

  9. PHP上传大文件 分割文件上传

    最近遇到这么个情况,需要将一些大的文件上传到服务器,我现在拥有的权限是只能在一个网页版的文件管理系统来进行操作,可以解压,可以压缩,当然也可以用它来在线编辑.php文件. 文件有40M左右,但是服务器 ...

  10. 整合Apache+PHP教程

    首先修改Apache的配置文件,让Apache支持解析PHP文件,Apache配置文件在Apache安装目录的conf目录下的httpd.conf,打开此文件, 找到#LoadModule,在这个下面 ...