Newtonsoft反序列化对象

本文关键字:对象 反序列化 Newtonsoft | 更新日期: 2023-09-27 18:19:58

字符串结果如下:

{ "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定义错误。这个怎么了?

Newtonsoft反序列化对象

由于标识符不能以数字开头,因此代码无法编译。

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

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

用法:

var data = @"{ ""1"" : ""something"" }";
var result = JsonConvert.DeserializeObject<JsonData>(data);