API.AI .NET C# SDK - 参数显示为 {object}
API.AI .NET C# SDK - Parameters appearing as {object}
我正在使用 API.AI 并通过 .NET SDK 为 Nuget 中的 API.AI 进行集成,并使用 webhook MVC 控制器来捕获 POST。为了传递 string
和 int
数据被很好地接收并保存得很好,但是如果我在 API.AI 中发送一个实体类型说 @sys.age,则接收到 Webbook 的参数存在如我所料,但该值的类型为 {object}
。我尝试了以下方法从这个 {object}
中获取数据值:-
(dynamic)item.Value
item.Value.ToString()
(dynamic)item.Value.ToString()
其中 item.Value
在手表 window 中显示 {object}。
谁能建议如何从中取回价值?
提前致谢。
@sys.age的参数Json为:
"result": {
"parameters": {
"age": {
"amount": 10,
"unit": "year"
}
},
然后您可以使用 类 在 C# 中捕获值,例如:
public class Age
{
public int amount { get; set; }
public string unit { get; set; }
}
public class RequestParameter
{
public Age age { get; set; }
}
public class RequestBody
{
public RequestParameter parameters { get; set; }
}
[HttpPost]
public ActionResult GetValue(RequestBody result)
{
var age = result.parameters.age.amount;
...
您可以在以下位置查看系统实体:https://api.ai/docs/reference/system-entities
我正在使用 API.AI 并通过 .NET SDK 为 Nuget 中的 API.AI 进行集成,并使用 webhook MVC 控制器来捕获 POST。为了传递 string
和 int
数据被很好地接收并保存得很好,但是如果我在 API.AI 中发送一个实体类型说 @sys.age,则接收到 Webbook 的参数存在如我所料,但该值的类型为 {object}
。我尝试了以下方法从这个 {object}
中获取数据值:-
(dynamic)item.Value
item.Value.ToString()
(dynamic)item.Value.ToString()
其中 item.Value
在手表 window 中显示 {object}。
谁能建议如何从中取回价值?
提前致谢。
Json为:
"result": {
"parameters": {
"age": {
"amount": 10,
"unit": "year"
}
},
然后您可以使用 类 在 C# 中捕获值,例如:
public class Age
{
public int amount { get; set; }
public string unit { get; set; }
}
public class RequestParameter
{
public Age age { get; set; }
}
public class RequestBody
{
public RequestParameter parameters { get; set; }
}
[HttpPost]
public ActionResult GetValue(RequestBody result)
{
var age = result.parameters.age.amount;
...
您可以在以下位置查看系统实体:https://api.ai/docs/reference/system-entities