`
weick
  • 浏览: 70312 次
  • 性别: Icon_minigender_1
  • 来自: 天堂的隔壁
社区版块
存档分类
最新评论

JSON对象转换为字串

    博客分类:
  • js
 
阅读更多

JSON.stringrify的功能好强大(http://www.cnblogs.com/damonlan/archive/2012/03/13/2394787.html)。

今天要重复造下轮子。将JSON对象转成字串。

 

//@param json JSON OBJECT
//@param sb Array
function jsonToStr(json,sb){
	for(var i = 0,len = json.length;i < len;i++){
		var item = json[i];
		var ol = objLen(item);
		if(item.children){//有孩子的map
			sb.push('{');
			var m = 0;
			for(var k in item){
				if(k === 'children'){//处理孩子
					sb.push('\"children\":[');
					jsonToStr(item.children,sb);
					sb.push(']');
				}else{ //处理非孩子
					sb.push('\"' + k + '\"' + ':\"' + item[k] + '\"');
				}
				if(m != ol - 1){
					sb.push(',');
				}
				m++;
			}
			sb.push('}');	
		}else{
			sb.push('{');
			var n = 0;
			for(var k in item){
				sb.push('\"' + k + '\"' +  ':\"' + item[k] + '\"');
				if(n != ol -1){
					sb.push(',');
				}
				n++;
			}
			sb.push('}');
		}
		if(i != len -1){
			sb.push(',');
		}
	}
}

//get object length
function objLen(o){
	var n,i = 0;
	for(n in o){
		if(o.hasOwnProperty(n)){
			i++;	
		}	
	}
	return i;
} 

  

 

应用:

<HTML>
<script>
window.onload = function(){
document.getElementById("jsonStr").innerHTML = "";
var json = [{text:'text1',id:'1',children:[{text:'text11',id:'11',children:[{text:'text111',id:'121'},{text:'text112',id:'122'}]}]}];
 var sb = [];
 jsonToStr(json,sb);
document.getElementById("jsonStr").innerHTML = sb.join("");
}
</<script>>

<body>
<span id='jsonStr'></span>
</body>
</HTML>

 

 

 

分享到:
评论

相关推荐

    SqlServer将查询结果转换为XML和JSON

    在这个例子中,`@ParameterSQL`变量包含了你要执行的SQL查询,`FOR XML RAW, TYPE, ELEMENTS`是用于生成XML的选项,`sp_executesql`执行SQL并把结果赋值给`@XML`,最后将XML对象转换为字符串。 2. 查询结果转JSON ...

    JSON模块修改版.rar

    例如,你可以创建一个JSON对象,添加键值对,然后通过模块提供的方法将其序列化成JSON字符串。同样,也可以将接收到的JSON字符串反序列化,得到易语言的表或字串集。 在实际应用中,JSON模块在Web服务、物联网设备...

    JSON解析模块2.0.rar

    1. JSON解析:能够将JSON格式的字符串解析为易语言的内建数据类型,如字串、整数、浮点数、数组、列表等。解析过程会创建对应的易语言对象,使开发者可以直接在易语言程序中操作这些数据。 2. JSON序列化:相反地,...

    protobuf根据DebugString输出字串反解pb对象的实例(C++)

    仔细观察发现输出并不是标准json格式,也就是说基于json→pb的路子是行不通的了。难道就没有其他办法了吗?答案是有的,本实例就提供了转换方法。使用过程中如果有什么问题可以私信博主,我看到后会第一时间解答。

    kifuparser:将将棋的棋谱(游戏记录)数据格式转换为JSON

    将kif,ki2和csa数据格式转换为JSON或JavaScript对象 JSON的Kifu格式 { 标头[对象] 日期[对象] 开始[字符串] 结束[字符串] 网站[字串] 差点[数字] 标题[string] 动作[个数] 事件[字符串] 开头[string] ...

    StringNumber:JSON.parse stringify将大数字转换为字符串

    字串号码JSON.parse / stringify将大数字转换为字符串。 基于 。 尽管大多数JSON解析器都假定数字值具有与IEEE 754 double相同的精度限制,但JSON规范并未说明任何数字精度。 十进制(可选地,科学的)表示法中的...

    JavaScript对象和字串之间的转换实例探讨

    如果想要将对象转换成JSON格式的字符串,我们可以使用`JSON.stringify()`方法: ```javascript var obj = { attr1: 'value1', attr2: 'value2' }; var jsonString = JSON.stringify(obj); console.log(jsonString);...

    Android利用Gson解析嵌套多层的Json的简单方法

    总之,Android开发中利用Gson解析嵌套多层的JSON数据主要分为两个步骤:一是创建与JSON结构对应的Java Bean类,二是使用Gson的`fromJson()`方法将JSON字符串转化为Java对象。理解这一过程对于处理复杂数据交换至关...

    VB.NET 字符串与二进制间的转换

    例如,`BitConverter.ToString(bytes)`可以将字节数组转换为十六进制字符串,而`BitConverter.ToInt32(bytes, startIndex)`将字节数组的一部分转换为整数。 3. **BinaryWriter 和 BinaryReader** 这两个类提供了...

    IOS开发常用的工具类.zip

    工具类可能包含快速解析JSON字符串为对象,或者将对象转换成JSON字串的功能,比如使用NSJSONSerialization或者第三方库如Mantle。 6. **图片处理**:UIImage工具类可能提供了图片的缩放、裁剪、压缩、加载网络图片...

    jest-jspm:将jspm别名配置转换为开玩笑的映射配置

    开玩笑一个帮助程序,用于为基于JSPM / SystemJS的... make方法接受的选项是: jestConfig-设定json档案的设定物件或字串路径(预设值:{}) jestOptions-传递给Jest-CLI的配置对象(例如{debug:true})(默认值:u

    Laravel开发-laravel-uuid

    laravel-uuid库支持将UUID对象在数据库和JSON之间转换。默认情况下,`toDatabase`和`fromDatabase`方法处理这种情况。 三、UUID在Laravel中的应用场景 1. API请求:每个请求的唯一标识,便于跟踪和调试。 2. 用户...

    simple_apis_bottlepy_presentation:带有bottle.py 的简单API

    5. **构建响应**:使用Response对象或者直接返回字串、字典等,Bottle会自动将其转换为JSON或HTML。 6. **运行服务器**:调用`bottle.run()`启动服务器,监听指定端口。 7. **测试API**:可以使用curl命令行工具或...

    DB2手册pdf

    在DB2中,**容器**通常指代用于组织和管理数据库对象的一种逻辑分组。它可以被视为一组相关的数据库和其他资源的集合。例如,在DB2 for z/OS中,容器可以用来封装数据库、表空间以及其他相关资源,以便于管理。 ###...

Global site tag (gtag.js) - Google Analytics