我正在使用API.AI并通过.NET SDK for API.AI在Nuget中找到并使用webhook MVC控制器来捕获POST。为了传递string
和int
,数据收到很好并且保存得很好,但是如果我在@ sys.age的API.AI中发送了一个实体类型,那么收到Webook的参数就像我期望的那样存在但是值的类型为{object}
。我已尝试以下方法从{object}
获取数据值: -
(dynamic)item.Value
item.Value.ToString()
(dynamic)item.Value.ToString()
其中item.Value
在观察窗口中显示{object}。
有人可以建议如何从中获取价值吗?
提前致谢。
答案 0 :(得分:1)
@ 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