如何根据获取的JSON对象为类定义属性?

时间:2017-08-07 17:18:37

标签: c# json

我能够获得一个JSON对象,其中包含一系列调查,每个调查都有一组属性。我有一个为调查定义的类,我根据获得的JSON对象定义所有调查属性。我在定义question.id属性时遇到错误。请建议我解决这个问题的最佳方法。

JSON数据:

"surveys":
{
    "id": 20128672,
    "trueFalse": false,
    "question": "Any accidents on site today?",
    "question.id": 1097329,
    "question.tag": 0,
    "images": [],
    "videos": []
},

调查班:

public class survey
{
    public string id { get; set; }
    public Nullable<bool> trueFalse { get; set; }
    public string question { get; set; }
    public string question.id { get; set; } //error in writing the question id attribute
    public string desc { get; set; }
    //public bool trueFalse { get; set; }
    public string FormattedAnswer
    {
        get
        {
            if (trueFalse == null) return "NA";
            return trueFalse == true ? "YES" : "NO";
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我不确定你在这里使用的json lib是什么,但是假设它是json.net你可以用一个简单的注释来解决这个问题,将json字段名称映射到C#属性,你在C#中给出该属性的名称是无效的,这就是你得到错误的原因,没有字段名称的句号。

[JsonProperty("question.id")]
public int id { get; set; }

另外,我修改了你的类型,因为它也是错误的,json值是int,而不是字符串。如果你没有使用json.net,我相信你会在你正在使用的lib中找到类似的功能,谷歌json注释或者包含这些包名称的东西,以找到合适的文档。