JSON串的方便以及通用性逐渐成为一种规范。jQuery有一个插件jquery-json
可以轻易的实现对象与JSON互相转换。
对象转JSON
主要使用toJSON()
方法
var obj = {
name: '琼台博客',
url: 'www.qttc.net',
desc: '个人技术日志',
author: 'Nicholas Lee'
};
var json = $.toJSON(obj);
console.log(json);
Output:
{"name":"琼台博客","url":"www.qttc.net","desc":"个人技术日志","author":"Nicholas Lee"}
json串转对象
主要使用evelJSON()
方法
var json = '{"name":"琼台博客","url":"www.qttc.net","desc":"个人技术日志","author":"Nicholas Lee"}';
var obj = $.evalJSON(json);
for (var i in json_obj) {
console.log(json_obj[i]);
}
Output:
琼台博客
www.qttc.net
个人技术日志
Nicholas Lee
注意问题
对象内有function
不能转JSON,如
var obj = {
name: '琼台博客',
url: 'www.qttc.net',
desc: '个人技术日志',
author: 'Nicholas Lee',
say: function () {
console.log('Hello World!');
}
};
var json = $.toJSON(obj);
console.log(json);
Output:
{"name":"琼台博客","url":"www.qttc.net","desc":"个人技术日志","author":"Nicholas Lee"}
say
属性没有被转换,因为它是一个function