我正在寻找对 JSON 的增强,它也将序列化方法。我有一个充当对象集合的对象,并且还想序列化集合对象的方法。到目前为止,我已经找到了 ClassyJSON。有什么想法吗?
David Robbins
问问题
4155 次
3 回答
4
尝试在不序列化 javascript 代码的情况下逃脱。那样就是一个痛苦的世界。如果代码只能来自静态文件而不是数据库,那么调试会容易得多。相反,在您收到 JSON 响应并将适当的数据传递给适当的对象构造函数后对其进行处理。
如果您绝对必须对它们进行序列化,则在函数上调用 toString() 将返回其源代码。
于 2008-09-20T23:41:05.367 回答
1
如果你使用 WCF 框架来开发 RESTful Web 服务,那是很容易实现的。只需使用具有 DataContract、DataMember 属性的所需集合创建数据结构类。
[DataContract]
public class Foo
{
[DataMember]
public string FooName {get;set;}
[DataMember]
public FooItem[] FooItems {get;set;}
}
[DataContract]
public class FooItem
{
[DataMember]
public string Name {get;set;}
}
于 2008-09-20T23:41:13.557 回答
1
我不认为序列化方法是一个好主意。如果您打算在服务器端运行代码,那么您就容易受到攻击。如果你想在客户端运行它,你最好只使用本地方法,可能引用你将在序列化对象中使用的方法的名称。
我确实相信这"f = "+function() {}
将为您提供一个可以评估的字符串版本:
var test = "f = " + function() { alert("Hello"); };
eval(test)
对于良好的 json 处理,我会推荐原型,它具有将对象序列化为 json 的好方法。
于 2008-09-20T23:41:56.643 回答