Newtonsoft.Json.JsonReaderException无法识别左方括号“[”

时间:2018-01-24 15:56:56

标签: c# json exception json.net

我正在尝试使用NewtonSoft库中的DeserializeObject,但我遇到了一个困扰我的问题。

我对这个图书馆很新,所以为了更好地理解它我从官方网站上看了下面的example

使用该资源,我修改它以满足我的需要,这是我的班级:

public class Project
{
    [JsonProperty ("team")]
    public string Team{ get; set; }
    [JsonProperty("details")]
    public string Details { get;  set;}
}

以下是代码:

Project project = new Project();
string json_string = File.ReadAllText(@"C:\file.json", Encoding.UTF8);
project = JsonConvert.DeserializeObject<Projets>(json_string);

这是.json文件模板:

{
   "Team": "nameOfTeam",
   "Details": [
       {
       "detail1": "Unknown",
       "detail2": "Unknown"
       }
   ]
}

问题是,在运行期间有一个例外,其中包含以下消息

  

解析值时遇到意外的字符:[。路径'详细信息',第X行,第XX位。

我不明白字符“[”在这里是怎么回事,我错过了什么?

1 个答案:

答案 0 :(得分:2)

Details是C#类中的字符串,而它是JSON对象中的数组。要么使它成为JSON中的字符串,要么将属性改为IList<string>