2017-12-28 12 views
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": "" 
}, 

ヘルプ!コードの下

+0

あなたは 'Q = jsonob [ "結果"]文字列を試してみました[ "パラメータ"] [ "Q1"]のToString();' – sid8491

+0

大丈夫!それは成功しました!ありがとうございました! –

答えて

0

使用:。

q = jsonob["result"]["parameters"]["q1"].ToString(); 
関連する問題