解析JSON文件后,为什么这个python过程不会产生输出?

时间:2013-05-30 05:27:28

标签: python json parsing output

使用这个json数据我正确地解析了信息,但是在将解析后的数据分配给变量并通过程序运行它后,我没有得到输出,为什么?

{"maps":[{"id":"blabla i am spartacus","iscategorical":"0"},{"id":"blabla","iscategorical":"0"}],
"masks":{"id":"valore"},
"om_points":"value",
"parameters":{"id":"valore"}
}

这是我的代码:

import json

json_data = open("json_file")
data = json.load(json_data)
json_data.close()

json_list = data ["maps"] [0] ["id"]

def string_search():
    if json_list.count("i") >= 1:
        return True
    return False

2 个答案:

答案 0 :(得分:1)

import json

json_data = open("data.txt")
data = json.load(json_data)
json_data.close()


json_list = data ["maps"] [0] ["id"]

print json_list   #blabla i am spartacus

def string_search():
    if json_list.count("i") >= 1:
        return True
    return False


result = string_search()
print result     #True

顺便说一下,名字'json_list'是一个字符串的可怕名称。在python中,string_search()被称为函数。函数应该接受一些输入,并返回一个结果 - 它不应该读取像json_list这样的全局变量。

答案 1 :(得分:0)

编写函数的专业方法是:

def string_search(a_string): 
    return a_string.count("i") >= 1

然后你会像这样调用函数:

result = string_search("hi")

甚至:

def string_search(a_string, char):
    return a_string.count(char) >= 1


result = string_search("hello", "l")