反序列化嵌套的json字符串会导致null值

时间:2014-10-31 14:15:52

标签: c# json

我有一个json字符串,我想反序列化以访问特定成员。

string sResponse = "{\"BALANCERESPONSE\":{\"@xmlns\":\"\",\"RESPONSECODE\":\"0\",\"RESPONSEMESSAGE\":\"Success\"}}";
Response conObj = new Response();
conObj = JsonConvert.DeserializeObject<Response>(sResponse);

public class BALANCERESPONSE
{
    public string RESPONSECODE { get; set; }
    public string RESPONSEMESSAGE { get; set; }
}

public class Response
{
    public BALANCERESPONSE resp_onse { get; set; }
}        

我在null属性中获得resp_onse值。我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

您的输入字符串未提及名称,但提及类型。因此,该属性无法识别,并将保持null

新:

string sResponse = "{\"resp_onse\":{\"@xmlns\":\"\",\"RESPONSECODE\":\"0\",\"RESPONSEMESSAGE\":\"Success\"}}";
                       ^^^^^^^^^

旧:

string sResponse = "{\"BALANCERESPONSE\":{\"@xmlns\":\"\",\"RESPONSECODE\":\"0\",\"RESPONSEMESSAGE\":\"Success\"}}";
                       ^^^^^^^^^^^^^^^