我从dialogflow获得了json响应。现在我想获得“q1”值。所以我试过这个:
var stringjson = ApiAiJson<QueryResponse>.Serialize(queryResponse);
var deserializejson =ApiAiJson<QueryResponse>.Deserialize(stringjson);
if (deserializejson.Result.Action == "web.search")
{
JObject jsonob = JObject.Parse(stringjson);
string q = jsonob["parameters"]["q1"].ToString();
System.Console.WriteLine(q);
}
但字符串q返回“null”。 也许反序列化是错误的。该值嵌入在参数中,而不是根值。但我不知道如何获得json的根值。 另外,这是json的回应:
"result": {
"source": "agent",
"resolvedQuery": "search for apple",
"action": "web.search",
"actionIncomplete": false,
"parameters": {
"q1": "apple",
"q2": ""
},
帮助!
答案 0 :(得分:0)
使用以下代码:
q = jsonob["result"]["parameters"]["q1"].ToString();