【问题标题】:Prevent serialize property name in json防止在json中序列化属性名称
【发布时间】:2016-01-07 22:25:24
【问题描述】:

我有两节课。 第一个是:

public int id { get; set; }
public List<AnotherClass> field1 { get; set; }

第二个是

public class AnotherClass
{
    [JsonIgnore]
    public int id { get; set; }
    public string subfieldValue { get; set; }
}

当我从这些类中创建对象并序列化它们时,我会从它们那里得到低于 JSON 的信息

{
    "id" : "1",
    "field1": [
         {
             "subfieldValue":"value1"
         },
         {
             "subfieldValue":"value2"
         }
     ]
 }

但我需要低于 JSON 的我该怎么做?我也不能将List&lt;string&gt; 用于 field1 类型,因为我想使用 Entity Framework 将此值保存到数据库中

{
    "id" : "1",
    "field1": ["value1", "value2"]
}

【问题讨论】:

    标签: c# json entity-framework


    【解决方案1】:
    public int id { get; set; }
    [JsonIgnore]
    public List<AnotherClass> field1s { get; set; }
    public List<string> field1
    {
        get{return field1s.Select(f=>f. subfieldValue).ToList();}
        set{}
    }
    

    此外,您可能应该保持常见的 C# 命名约定,例如 Id 而不是 id,并通过属性更改 json 名称,使用您喜欢的 json 中的任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      • 2012-08-04
      相关资源
      最近更新 更多