将组合JSON键作为参数传递给函数的Pythonic方法

时间:2016-07-02 10:51:50

标签: python json python-2.7 parameters code-reuse

我写了一个小函数,它成功地从JSON blob中提取数据。 blob包含列表和词典的混合。 如果我对密钥进行硬编码,那么访问JSON blob中的值没有问题,但是将密钥作为元组传递不起作用。

有没有更好的方法将密钥传递给函数?

目前我最好的想法是写一个提取函数并传递它。 这似乎过于复杂。

简单示例

import json

def do_stuff(datablob, mykeys):    

    data = json.loads(datablob)

    for entry in data:

        mydate = entry[u'timestamp'][0:10]
        mytime = entry[u'timestamp'][11:19]

        # this works
        founddata = entry[u'key1'][u'key2'][0][u'key3']

        # this fails 
        founddata = entry[mykeys]

        # do stuff with founddata



if __name__ == '__main__':

    with open('jsonblob.txt','r') as f1:

         mykeys = (u'key1',u'key2',0,u'key3')
         do_stuff(f1.read(), mykeys)

0 个答案:

没有答案