1

I am able to get a JSON object with a list of surveys having a set of attributes for each of them. I have a class defined for surveys where I am defining all the survey attributes based on the obtained JSON object. I am facing an error while defining question.id attribute. Please suggest me the best way to solve this problem.

JSON Data:

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

Survey class:

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 Answer 1

1

I'm not sure what json lib you're using here but assuming it's json.net you can resolve this with a simple annotation mapping the json fields name to the C# property, the name you're giving that property in C# is not valid which is why you're getting the error, no periods in field names.

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

Also, I modified your type because it was wrong too, the json value is an int, not a string. If you're not using json.net, I'm sure you'll find similar features in the lib you are using, google json annotation or something along those lines with the packages name to find appropriate docs.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.