C# Json-解析值时出现意外字符
我从API.AI中提取意图,并使用Newtonsoft.Json以以下方式将其解析为C#对象:-C# Json-解析值时出现意外字符,c#,.net,json,json.net,dialogflow-es,C#,.net,Json,Json.net,Dialogflow Es,我从API.AI中提取意图,并使用Newtonsoft.Json以以下方式将其解析为C#对象:- intentListModel = JsonConvert.DeserializeObject<List<IntentListModel>>(intentList); NB:这只是JSON的一部分,JSON以[]打开和关闭,因为它是JSON项的列表。 特别是事件的{开头。我被难住了,我已经通过验证器运行了它,我看到了有效的JSON 有人能建议我可以尝试什么吗?或者是否有这样
intentListModel = JsonConvert.DeserializeObject<List<IntentListModel>>(intentList);
NB:这只是JSON的一部分,JSON以[]打开和关闭,因为它是JSON项的列表。
特别是事件的{
开头。我被难住了,我已经通过验证器运行了它,我看到了有效的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
的类属性,而不是list
,因此代码失败
希望这对未来的人们有所帮助。请发布整个JSON和类的有效示例,这些示例也将导致上述问题。请阅读我使用您提供的JSON创建了一个DotNetFIDLE,并且“它可以工作”:这里是一个具有类结构的.net FIDLE-也可以工作
[
{
"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
}
]