0
私はdialogflowからjsonレスポンスを得ました。今私は "q1"の値を取得したいと思います。だから私はこれを試した:ダイアログフローからJson getのルート値を取得するには?
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": ""
},
ヘルプ!コードの下
あなたは 'Q = jsonob [ "結果"]文字列を試してみました[ "パラメータ"] [ "Q1"]のToString();' – sid8491
大丈夫!それは成功しました!ありがとうございました! –