似乎无法使用WCF的本机DataContractJsonSerializer或ASP.NET的本机JavaScript序列化器将Entity
Framework对象序列化为JSON。这是由于两个串行器都拒绝的引用计数问题。我还尝试了Json.NET,它在引用计数问题上也特别失败。
编辑: Json.NET现在可以序列化和反序列化Entity
Framework实体
。
我的对象是Entity
Framework对象,它们被重载以执行其他业务功能(例如,身份验证等),并且我不想使用特定于平台的属性来修饰这些类,因为我想提供一个与平台无关的API 。
我实际上已经在https://blog.programx.co.uk/2009/03/18/wcf-json-serialization-woes-
and-a-solution/上写了我经过的各个步骤的博客。
我错过了明显的事情吗?
我这样做的方法是将要序列化的数据投影到匿名类型中,然后对其进行序列化。这样可以确保仅将我真正想要的JSON信息序列化,并且不会在对象图的后面无意间对某些信息进行序列化。看起来像这样:
var records = from entity in context.Entities
select new
{
Prop1 = entity.Prop1,
Prop2 = entity.Prop2,
ChildProp = entity.Child.Prop
}
return Json(records);
我发现匿名类型对此非常理想。显然,JSON并不关心使用哪种类型来生成它。匿名类型使您可以完全灵活地输入JSON中的属性和结构。
问题内容: 我正在使用Ef 4.1,并且有一个POCO对象要序列化为JSON,我已经读到在使用延迟加载时这样做有问题,但是我不确定我可以这样做,因为一个可以的集合。 有什么办法吗?将这种对象序列化为JSON? 我的对象看起来像: 问题答案: 问题是循环引用。避免这种情况的一种简单方法是使用Json.Net http://james.newtonking.com/projects/json- net
问题内容: 像其他几个人一样,我在序列化Entity Framework对象时遇到问题,因此我可以通过JSON格式的AJAX发送数据。 我有以下服务器端方法,我正在尝试通过jQuery使用AJAX进行调用 通过AJAX调用会导致此错误: 这是因为实体框架创建循环引用以保持所有对象相关并且可访问服务器端的方式。 我从(http://hellowebapps.com/2010-09-26/produc
问题内容: 我对javascript并不太熟悉,而且令人赞叹,因为我无法向使用ORM名称Sequelize.js从数据库中获取的对象添加新属性。 为了避免这种情况,我使用此技巧: 因此,通常如何向对象添加新属性。 如果有帮助,我使用sequelize-postgres版本2.0.x。 更新。 console.log(节点): 接下来,我想您会想到的是:“好吧,很简单,只需将您的属性添加到dataV
问题内容: 如何在JavaScript中将对象序列化为JSON? 问题答案: 您正在寻找。
问题内容: 我想通过实施将其序列化为Json 该映射序列化为非标准。我想在单元测试中测试此行为。 问题答案: 你不能像这样测试。你在这里做什么 正在建立 出站 响应。在JAX-RS框架中,发出响应后,例如 它仍然需要通过序列化到JSON。 阅读有关实体提供者的更多信息 话虽如此,泽西岛有一个测试框架,我们可以用来测试我们的资源方法。您可以在Github上找到所有官方示例 一个样本(有一些改动):
问题内容: 因此,当我偶然发现新的JsonSerializable Interface 时,我在php.net上四处徘徊,以获取有关将PHP对象序列化为JSON的信息。它只是 PHP > = 5.4,而我正在5.3.x环境中运行。 PHP <5.4如何实现这种功能? 我还没有使用JSON进行很多工作,但是我试图在应用程序中支持API层,并且将数据对象( 否则将发送到视图 )转储到JSON中将是完美