JavaScript将对象转换为JSON
2012-10-16 21:43
375 查看
今天开始自己的第一篇博文,谈谈在JavaScript中如何将自定义类型转换为JSON对象。
那么首先要谈谈for与for in的用法。对于遍历来说,大家都不陌生尤其对于数据结构精通的人来说。本文并不是要在这里提出更好的遍历方法,而只是做出说明。在此后面我们通过遍历来进行对象转为JSON对象。
在Java中有很多中方式,如for, foreach,以及一些接口的next()方法来进行遍历,但是在JavaScript中我们如何去遍历呢?
对于在数组中,我们通常这样去遍历:
同样假如数组中的内容为我们自己定义的对象时,我们也可以通过这种方式来得到数组中的对象。但是对于一个对象而言我们要去对他内容部进行遍历,我们如何操作呢?
这时候for in就派上用场了。我们可以这样进行对一个自定义的对象进行如下遍历。
相信在看到这里大家似乎也应该明白for in的作用了吧。其实也就是for in去遍历对象的属性,然后由于对象可以通过属性名称去获取到具体的值。
对象转换为JSON字符串代码如下(用这种最清楚的函数式而非面向对象方式):
那么首先要谈谈for与for in的用法。对于遍历来说,大家都不陌生尤其对于数据结构精通的人来说。本文并不是要在这里提出更好的遍历方法,而只是做出说明。在此后面我们通过遍历来进行对象转为JSON对象。
在Java中有很多中方式,如for, foreach,以及一些接口的next()方法来进行遍历,但是在JavaScript中我们如何去遍历呢?
对于在数组中,我们通常这样去遍历:
var arr = {"a", "b", "c"}; for(var i = 0; i< arr.length; i += 1){ alert(arr[i]); }
同样假如数组中的内容为我们自己定义的对象时,我们也可以通过这种方式来得到数组中的对象。但是对于一个对象而言我们要去对他内容部进行遍历,我们如何操作呢?
这时候for in就派上用场了。我们可以这样进行对一个自定义的对象进行如下遍历。
// 创建一个简单的对象 var Person = function(name, age){ this.name = name; this.age = age; } // 转换为json字符串 function toJson(source){ var json = []; for(var key in source){ json.push([key, ":", source[key]].join(" ")); } return "{" + json.join(", ") + "}"; }
相信在看到这里大家似乎也应该明白for in的作用了吧。其实也就是for in去遍历对象的属性,然后由于对象可以通过属性名称去获取到具体的值。
对象转换为JSON字符串代码如下(用这种最清楚的函数式而非面向对象方式):
// 传入对象,生成对象json function toJSON(source){ var json = []; var jsonStr = ""; if(source instanceof Array){ jsonStrArray = []; for(var i =0; i < source.length; i +=1){ jsonStrArray.push([toJsonString(source[i])].join("")); } jsonStr ="["+jsonStrArray.join(", ")+"]"; } else { jsonStr = toJsonString(source); } return jsonStr; } // 将对象转换为json字符串 function toJsonString(obj){ var msg = []; for(var key in obj){ msg.push([key, ":", obj[key]].join(" ")); } return "{" + msg.join(", ") + "}"; } // 对象 function Person(name, age){ this.name = name; this.age = age; } // 传递数组对象 var persons = []; persons.push(new Person("Young", 23)); persons.push(new Person("Gump", 23)); alert(toJSON(persons)); // 传递普通对象 alert(toJSON(new Person("Yong", 22)));
相关文章推荐
- javaScript中用eval()方法转换json对象
- JSON 字符串转换为JavaScript 对象.JSON.parse()和JSON.stringify()
- javascript中将json字符串转换成json对象
- javascript扩展,将对象扩转换成json字符串
- 转换json格式的日期为Javascript对象
- json里的日期字符串 怎么 转换成 javascript 的 Date 对象?
- Javascript-自定义对象转换成JSon后如何再转换回自定义对象
- JavaScript--字符串与JSON对象相互转换
- json对象和json字符串之间的转换-JavaScript实现
- JavaScript 对象表示法 (JSON) 字符串转换为对象
- javascript将json字符串转换为json对象
- JavaScript将对象转换为JSON
- javascript-对象、数组转换为json字符串
- 使用Javascript/jQuery将javascript对象转换为json格式数据
- javaScript的JSON字符串转换为JSON对象。
- JavaScript对象与JSON字符串的相互转换
- JavaScript对象与JSON字符串的相互转换
- JavaScript对象与JSON字符串的相互转换
- javascript 中的JSON.stringify - 将对象和数组转换为json格式(来源于网络)
- javascript json字符串与对象相互转换