簡體   English   中英

Newtonsoft json - 反序列化具有相同名稱但屬性不同的類

[英]Newtonsoft json - deserialize classes with same name, but different properties

我正在使用 REST API - 它返回 JSON。 我在 C# 中使用 NewtonSOFT JSON 反序列化 JSON。

返回的 JSON 包含一個“答案”object,其中包含另一個“答案”object - 問題是 2 個“答案”對象具有不同的定義/

如何在 C# 或 NewtonSoft 中處理?

Json結構

"answers": [
                {
                    "tag": {
                        "id": 803,
                        "name": "Oplysninger om bestilling af tilstandsrapporten"
                    },
                    "option": false,
                    "answers": [
                        {
                            "label": "Vælg",
                            "value": "Ved hjælp af familie, venner eller bekendte mv",
                            "show_inline": false
                        }
                    ],
                    "question": "Hvordan fandt du den bygningssagkyndige?",
                    "seller_question_id": 1
                }

這里的“answers”是一個屬性名稱,而不是 class 名稱,因此您需要做的就是以與您顯示的模式相匹配的方式定義您的類。 擁有兩個名為"answers"的不同屬性不會帶來任何特殊的復雜性。

class Response
{
    public IList<OuterAnswer> answers { get; set; }
}

class OuterAnswer
{
    public Tag tag { get; set; }
    public bool option { get; set; }
    public IList<InnerAnswer> answers { get; set; }
    public string question { get; set; }
    public long seller_question_id { get; set; }
}

class InnerAnswer
{
    public string label { get; set; }
    public string value { get; set; }
    public bool show_inline { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM