Newtonsoft.JSON忽略父属性,但序列化子属性

时间:2020-11-12 05:46:31

标签: c# json serialization .net-core console

我尝试序列化以下json数据结构,如图所示,其中某些字段使用了向导。理想情况下,我想在序列化过程中忽略这些,但是我仍然希望能够序列化这些对象的子属性(published_show_time等)。我想在数组中创建这些条目,因为每个记录都是一个单独的条目。是否可以使用Newtonsoft JSON库执行此操作,还是需要创建自定义Json转换器?

{
    "data": {
        "019765d6-9e37-474c-b53b-ddb24c8c5fc8": {
            "published_show_time": null,
            "preshow_duration": 1131.5033333333,
            "content_issue": false,
            "has_intermission": false,
        },
        "6ac935d2-bca8-4c4d-8c39-2cb9f17ee0be": {
            "published_show_time": null,
            "preshow_duration": 10.0,
            "content_issue": false,
            "has_intermission": false,
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您可以将Json序列化为Dictionary结构

$(".front").click(function() {
$(".front").not(this).removeClass("active");
$(this).toggleClass("active");

然后您可以像这样序列化此类:

class MyJson
{
    [JsonProperty("data")]
    public Dictionary<string,MyData> Data {get;set;}
}

class MyData
{
   [JsonProperty("published_show_time")]
   public string  PublishedShowTime {get;set;}
   ......//preshow_duration..and more
}

答案 1 :(得分:0)

我想到的唯一解决方案是使用转换器。您也可以使用LINQ to JSON,但我不建议这样做