传递一个变量从Python中的JSON字符串中提取?

时间:2013-12-26 02:05:13

标签: python json

我有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')

现在每当我通过ppparse_json方法从JSON字符串中提取其值时,我总是得到错误 -

return jj['+data+']
KeyError: '+data+'

知道如何解决这个问题吗?因为我需要传递我应该从JSON字符串中提取的变量吗?

2 个答案:

答案 0 :(得分:3)

你可能只想要这个:

    return jj[data]

您的代码正在尝试查找名为'+data+'的密钥,而您要执行的操作是使用函数参数的名称查找密钥。

答案 1 :(得分:2)

只需使用data参数本身。


替换以下行:

return jj['+data+'] # lookup with `+data+`, not `pp`

使用:

return jj[data]