在Python中比较JSON响应和字符串

时间:2014-10-27 18:41:32

标签: python json

我目前正在为JSON响应开发过滤器。我基本上只是为什么这段代码中的Truth_Value打印为False。

import urllib
import json
from urllib2 import urlopen

entry="pocket"
url="http://ws.spotify.com/search/1/track.json?q="
user_query=urllib.quote_plus(entry)
url +=user_query
response = urlopen(url)
json_obj = json.load(response)

print json.dumps(json_obj['tracks'][3]['name'])
# This prints to "In Your Pocket"

Truth_Value=json.dumps(json_obj['tracks'][3]['name'])=="In Your Pocket"
print Truth_Value

1 个答案:

答案 0 :(得分:0)

正如你所说,json.dumps(json_obj['tracks'][3]['name'])返回"In Your Pocket" ...但是使用引号,而你将它与没有引号的字符串进行比较。

我刚做了一个简单的测试:

print "// " + json.dumps(json_obj['tracks'][3]['name']) + " //"
print "// In Your Pocket //"

这将打印:

// "In Your Pocket" //
// In Your Pocket //

因此,如果您希望Truth_valueTrue,则应该

Truth_Value=json.dumps(json_obj['tracks'][3]['name'])=="\"In Your Pocket\""