2016-05-15 93 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

相关问题