我有一个名为MyObject的对象模型,我正在序列化为json字符串,我将该字符串存储在DB中。我想将几个这些对象发送到页面。
当对象从数据库中出来时,它们被放入一个名为JsonCache的对象列表中,如下所示:
public class JsonCache
{
public int ObjectID {get;set;}
public byte ObjectStatus {get;set;}
public string MyObjectInJsonFormat {get;set;}
}
List<JsonCache> MyListOfMyObjects = new List<JsonCache>();
MyObjectInJsonFormat是包含MyObject所有属性的字符串(9个嵌套对象列表。) 在将此列表发送到页面之前,我使用这样的简单序列化程序对其进行序列化:
JavaScriptSerializer ObjectSerializer = new JavaScriptSerializer();
string LeadsToPage = ObjectSerializer.Serialize(MyListOfObjects);
然后我把这个字符串放在一个名为MyDiv的div内的aspx文字中。
在客户端页面中,我写了这个javascript:
var ObjectsFromServer = $('#MyDiv').html();
ObjectsInJson = eval(ObjectsFromServer);
问题是ObjectsInJson是一个包含JsonCache对象模型的数组,其字符串为ObjectInJsonFormat。当然,我可以使用递归eval但这不是我想要的。我要做的是让ObjectInJson成为MyObject的数组。
我需要做些什么来改变这项工作?
感谢您的建议。