Newtonsoft.Json - 解析值时出现意外字符

Newtonsoft.Json - Unexpected characters while parsing value

我正在从 API.AI 中提取意图,并使用 Newtonsoft.Json 按以下方式将这些解析为 C# 对象:-

intentListModel = JsonConvert.DeserializeObject<List<IntentListModel>>(intentList);

intentList 是来自网络请求的 JSON 字符串。然而,在第 1 行,位置 161,它失败了。 JSON关注的位是:-

"contextIn": [
    "Employed"
],
"events": [{
    "name": "Occupation_DOB"
}],

注意:这只是 JSON 的一部分,JSON 以 [] 打开和关闭,因为它是 JSON 项目的列表。

特别是 events 的开场 {。我很难过,我已经通过验证器 运行 它并且我看到有效 JSON.

任何人都可以建议我可以尝试什么,或者有什么地方可以这样做吗?或者错误消息实际上是在寻找 JSON 字符串的另一个区域?

提前致谢!

更新 已发布整个 JSON 个示例

[
   {
      "id":"18b025c5-3567-49c1-a9e9-25583f9156ca",
      "name":"IncomeProtection -  Employed? - Occupation/DOB/Email",
      "state":"LOADED",
      "contextIn":[
         "Employed"
      ],
      "events":[
         {
            "name":"Occupation_DOB"
         }
      ],
      "parentId":"ad5f0007-c084-4615-93dd-6c82ca5e7602",
      "parameters":[
         {
            "required":true,
            "dataType":"@Occupation",
            "name":"Occupation",
            "value":"$Occupation",
            "prompts":[
               "Whatu0027s your Occupation?"
            ],
            "isList":false
         },
         {
            "required":true,
            "dataType":"@sys.date",
            "name":"date",
            "value":"$date",
            "prompts":[
               "Whatu0027s your date of birth?"
            ],
            "isList":false
         }
      ],
      "contextOut":[
         {
            "name":"OccupationDOB",
            "parameters":{

            },
            "lifespan":1
         }
      ],
      "actions":[
         "IncomeProtection:Occupation/DOB"
      ],
      "priority":500000,
      "fallbackIntent":false
   }
]

这个问题归结为 API 中的一项在列表中返回,但在我查看的特定示例中,API 返回了包含 1 个项目的列表。我误读了括号并创建了 string 类型的 class 属性 而不是 List<string>,因此代码失败。

希望这对以后的人有所帮助。