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

Help! 코드 아래

+0

당신이'Q = jsonob [ "결과"] 문자열을 시도해야 [ "매개 변수를"] [ "Q1"] ToString(); ' – sid8491

+0

좋아! 성공! 고맙습니다! –

답변

0

사용 :.

q = jsonob["result"]["parameters"]["q1"].ToString();