【发布时间】:2014-02-11 14:16:17
【问题描述】:
出于序列化目的,我想知道是否有一个库可以将类型化对象转换为纯 json 并返回。
天真的解决方案是这样的:
function Person( name, sex, age ) {
this.name = name;
this.sex = sex;
this.age = age;
}
Person.prototype.serialize = function () {
var obj = this;
return '{ ' + Object.getOwnPropertyNames( this ).map( function ( key ) {
var value = obj[key];
if ( typeof value === 'string' ) { value = '"' + value + '"'; }
return '"' + key + '": ' + value;
}).join( ', ' ) + ' }';
};
Person.deserialize = function ( input ) {
var obj = JSON.parse( input );
return new Person( obj.name, obj.sex, obj.age );
};
(来自:Javascript Serialization of Typed Objects)
嵌套类型有简单的解决方案吗?
编辑:
假设我有一组模型(如骨干模型): 用户、任务等 每个模型都支持 toJson 和 fromJson 函数。 toJson 返回一个带有模型属性的普通对象。 fromJson 接受一个普通对象并创建一个新的模型对象。
我正在寻找可以恢复类型的解决方案。例如,通过使用原始类型的名称保存“_prototype”属性。
编辑:
我刚刚发现了这个:https://stackoverflow.com/a/14028886/1163440 这就是我的想法..但我正在寻找嵌套类型
【问题讨论】:
-
JSON.stringify 有什么问题?
-
我会澄清我的问题。谢谢
标签: javascript json serialization