用@符号反序列化JSON属性名



我有json格式如下:

{
   "@start":"0",
   "@totalRecords":"1",
   "@queryTime":"0"
}

我的类如下所示:

public class SearchResult
    {
        [JsonProperty(PropertyName = "@start")]
        public string Start { get; set; }
        [JsonProperty(PropertyName = "@totalRecords")]
        public string Total { get; set; }
        [JsonProperty(PropertyName = "@queryTime")]
        public string QueryTime { get; set; }
    }

但是Start, Total和QueryTime仍然为空

就像引用一样,反序列化是按以下方式完成的:

SearchResult result = JsonConvert.DeserializeObject<SearchResult>(jsonString);

刚刚尝试了您的代码,我得到了所需的结果。Json的版本。Net为4.5.10.15407。

string jsonString = @"{ ""@start"":""0"", ""@totalRecords"":""1"", ""@queryTime"":""0"" }";
SearchResult result = JsonConvert.DeserializeObject<SearchResult>(jsonString);

检查输入json字符串是否有问题(引用,编码或其他),或者是否可能是json版本的错误。

相关内容

  • 没有找到相关文章

最新更新