2016-05-15 68 views
0

我正在使用谷歌API來獲取兩個地點之間的距離,並檢查是否有距離信息API的json響應中有狀態字段閱讀「OK」或「NOT_AVAILABLE」或其他內容。我要檢查,如果狀態正常,以便讓我做這樣的將C#中的json上的變量的值與字符串進行比較

if (disJSON["rows"][0]["elements"][0]["status"] == "OK") 

的事情,我可以使用距離信息是返回,即使狀態正常

我看着假,每次調試器檢查調試器爲json的上述元素顯示的值和值是「\」確定\「」。這很奇怪。所以我用if作爲比較字符串,就像這樣

if (disJSON["rows"][0]["elements"][0]["status"] == "\"OK\"") 

但是它也一直返回false。任何想法如何正確比較這一點?

回答

4

我懷疑問題是disJSON["rows"][0]["elements"][0]["status"]的編譯時類型是JToken或類似的東西。如果你轉換爲字符串,那麼a)你會比較一個字符串和一個字符串; b)編譯器將使用bool ==(string, string)過載而不是比較參考標識:

string status = (string) disJSON["rows"][0]["elements"][0]["status"]; 
if (status == "OK") 
{ 
    ... 
} 
+0

工作很好!謝謝! – Atirag

相關問題