[英]Comparing the value of a variable on json in C# to a string
我正在使用Google API来获取两个地方之间的距离,并检查是否获取了距离信息,该API的json响应上有一个状态字段,可以读取“ OK”或“ NOT_AVAILABLE”或类似的内容。 我想检查状态是否正常,以便可以使用距离信息,所以我这样做
if (disJSON["rows"][0]["elements"][0]["status"] == "OK")
问题是即使状态为OK,它也会每次返回false
我调查了调试器以检查该值,调试器显示的json上面元素的值为“ \\” OK \\“”。 这很奇怪。 所以我用它作为if语句的比较字符串,像这样
if (disJSON["rows"][0]["elements"][0]["status"] == "\"OK\"")
但是它也总是返回false。 有什么想法如何正确比较吗?
我怀疑问题是disJSON["rows"][0]["elements"][0]["status"]
的编译时类型是JToken
或类似的东西。 如果转换为字符串,则a)将字符串与字符串进行比较; b)编译器将使用bool ==(string, string)
重载,而不是比较引用标识:
string status = (string) disJSON["rows"][0]["elements"][0]["status"];
if (status == "OK")
{
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.