我有JSON字符串。现在我想从该JSON字符串中提取每个字段。
所以我决定创建一个方法parse_json,它将接受我想从JSON字符串中提取的变量。
下面是我的python脚本 -
#!/usr/bin/python
import json
jsonData = '{"pp": [0,3,5,7,9], "sp": [1,2,4,6,8]}'
def parse_json(data):
jj = json.loads(jsonData)
return jj['+data+']
print parse_json('pp')
现在每当我通过pp
到parse_json
方法从JSON字符串中提取其值时,我总是得到错误 -
return jj['+data+']
KeyError: '+data+'
知道如何解决这个问题吗?因为我需要传递我应该从JSON字符串中提取的变量吗?
答案 0 :(得分:3)
你可能只想要这个:
return jj[data]
您的代码正在尝试查找名为'+data+'
的密钥,而您要执行的操作是使用函数参数的名称查找密钥。
答案 1 :(得分:2)
只需使用data
参数本身。
替换以下行:
return jj['+data+'] # lookup with `+data+`, not `pp`
使用:
return jj[data]