Образец бота, созданный с помощью лазури, основан на этой документации
https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-luis?view=azure-bot-service-4.0&tabs=csharp
Я пытаюсь реорганизовать части функциональности диалогового окна, и мне нужен доступ к частям json, которые, как я полагаю, должны вернуться после вызова luis. Однако, когда я пытаюсь получить доступ из $ instance, я получаю сообщение об ошибке, что я не могу получить доступ к дочерним элементам ответа.
Вот пример json:
+ Entities {{
"$instance": {
"To": [
{
"startIndex": 10,
"endIndex": 15,
"text": "paris",
"type": "To",
"score": 0.987954
}
]
},
"To": [
{
"$instance": {
"Airport": [
{
"startIndex": 10,
"endIndex": 15,
"text": "paris",
"type": "Airport"
}
]
},
"Airport": [
[
"Paris"
]
]
}
]
}} Newtonsoft.Json.Linq.JObject
Вот код доступа к json:
bookingDetails.Origin = recognizerResult.Entities["From"]?.FirstOrDefault()?["Airport"]?.FirstOrDefault()?.FirstOrDefault()?.ToString();
Я понимаю, как это обращается к сущности из вызова luis.ai, но как я могу получить доступ к другим частям ответа json?
Кроме того, есть ли способ доступа к тому, вернулся ли объект с целью в целом, такой как ответ, оцененный как bool?
Наконец, доступ к json в целом с помощью вышеуказанного метода кажется не идеальным. Есть ли более форматированный способ доступа к тому, что будет возвращать json, и с новым ядром asp.net 2+ есть ли способ сделать это без использования newtonsoft?