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>
,因此代码失败。
希望这对以后的人有所帮助。
我正在从 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>
,因此代码失败。
希望这对以后的人有所帮助。