字符串结果如下:

{ "1": "something"}

string result = "{ \"1\"' : \"somestring\"}";

public class JsonData
{
    private string _1;

    public string 1 { get { return _1; } set { _1 = value; } }

    public JsonData()
    {
    }
}

JsonData data = Newtonsoft.Json.JsonConvert.DeserializeObject<JsonData >(result);


我想反序列化String,但是JsonData定义是错误的。这怎么了

最佳答案

您的代码无法编译,因为identifiers不能以数字开头。

您可以使用JsonPropertyAttribute来引用Json内部的1属性。

public class JsonData
{
    [JsonProperty("1")]
    public string One { get; set; }
}


用法:

var data = @"{ ""1"" : ""something"" }";

var result = JsonConvert.DeserializeObject<JsonData>(data);

关于c# - Newtonsoft反序列化对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17310079/

10-13 04:03