我有一组linq to sql类,并使用.NET JavaScriptSerializer将它们序列化为JSON。
但是,只要我将记录添加到相关表中,序列化就会抛出“循环引用异常”。 Aaarggh!
详细描述了here。
我有几个选择
还有其他人遇到过这个吗?如果可能的话,我真的更喜欢最后一个选项,但我不知道该怎么做。
非常感谢任何帮助
答案 0 :(得分:8)
最新版本的Json.NET支持序列化循环关系。查看帮助中的Preserving Object References。
答案 1 :(得分:4)
答案 2 :(得分:1)
詹姆斯的解决方案解决了我的部分问题。我需要在对象中排除某些列表类型。为了解决我的问题,我只是复制了我需要的对象部分。以下是一个例子。
var DB = new DBDataContext();
var lUsers = new List<User>();
DB.Users.ToList().ForEach(x => lUsers.Add(new User()
{
ID = x.ID,
FIRST_NAME = x.FIRST_NAME
}) );