gpt4 book ai didi

json - C#MVC4 Web API-结果JSON应该返回对象而不是$ ref到对象

转载 作者:行者123 更新时间:2023-12-04 12:55:41 26 4
gpt4 key购买 nike

我有一个使用EntityFramework for ORM的ASP.NET MVC 4 Web API应用程序。

在返回的JSON中,有些情况下多个父节点存在相同的子节点。在这些情况下,子节点的第一次出现在其所有成员中都是完全可见的。任何后续出现都将显示为第一个出现的$ ref。
相反,我希望每次在返回的JSON中显示完整对象时,都可以看到该对象。

例如,没有看到:

    [{
"$id": "1",
"userId": 1,
"Badge": {
"$id": "2",
"badgeId": 1,
"badgeName": "Gold"
}
}, {
"$id": "3",
"userId": 2,
"Badge": {
"$ref": "2"
}
}]

我倒要看看:
    [{
"$id": "1",
"userId": 1,
"Badge": {
"$id": "2",
"badgeId": 1,
"badgeName": "Gold"
}
}, {
"$id": "3",
"userId": 2,
"Badge": {
"$id": "4",
"badgeId": 1,
"badgeName": "Gold"
}
}]

基本上,我想摆脱JSON中的所有“$ ref”。有办法吗?

谢谢!

最佳答案

一种简单的方法是编辑生成的实体类代码。对于每个实体类,将分配一个[DataContract(IsReference=true)]属性。

类似于以下内容:

[EdmEntityTypeAttribute(NamespaceName="YourNamespace", Name="YourEntity")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class YourEntity : EntityObject
{

将其更改为 IsReference=false。这应该够了吧。

关于json - C#MVC4 Web API-结果JSON应该返回对象而不是$ ref到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11237540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com