Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从响应中获取键和值,并使用python将其存储在json文件中?_Python - Fatal编程技术网

如何从响应中获取键和值,并使用python将其存储在json文件中?

如何从响应中获取键和值,并使用python将其存储在json文件中?,python,Python,我有一个这种格式的python代码,希望从响应中获取键和值 def test() data={u'Application': u'e2e', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'aktest1', u'e2etest': u'aktest2', u'S68e2e': u'function',u'Application': u'test', u'Cost center': u'qwerty', u'En

我有一个这种格式的python代码,希望从响应中获取键和值

def test()
    data={u'Application': u'e2e', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'aktest1', u'e2etest': u'aktest2', u'S68e2e': u'function',u'Application': u'test', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'test7nov', u'e2etest': u'testapi', u'S68e2e': u'function'}

    new={}
    for k,v in data.items():
         new["key"] = k
         new["tags"] = []
    for d in v:
         flds = list(d)
         new["tags"].append({"key": k, "values": flds})
    print(new["tags"])
  with open(fileName, 'w') as f:
     json.dump(new["tags"], f, indent=3 * ' ')
test()
我得到的输出是

 [ {'key': 'S68e2e', 'values': ['f']},
   {'key': 'S68e2e', 'values': ['u']}, 
   {'key': 'S68e2e', 'values': ['n']}, 
   {'key': 'S68e2e', 'values': ['c']}, 
   {'key': 'S68e2e', 'values': ['t']}, 
   {'key': 'S68e2e', 'values': ['i']}, 
   {'key': 'S68e2e', 'values': ['o']}, 
   {'key': 'S68e2e', 'values': ['n']}]
这是不对的,我本以为会的

[{'key': 'Application', 'values': 'e2e'}{'key': 'Cost center', 'values': 'qwerty'}{'key': 'e2etest', 'values': 'aktest2'}]

您可以使用列表理解创建一个字典列表,将您的键、值和其他键值包装在一起

[{ 'key': k, 'values': v } for k, v in data.items()]

如果不正确,请指定预期的json文件存储与您的问题有什么关系?我想您不应该使用
new
作为变量名,这很容易混淆。@YugandharChaudhari,用预期的输出更新。谢谢@Guimoute在使用Python 3时,为什么要指定
u
?这里的每个字符串都是unicode字符串。谢谢,它可以工作。我如何才能使打印的值,即使有相同的键和值再次。此代码正在删除重复项。@anj-此代码没有删除重复项,在一个字典中不能有多个相同的键,“删除”是在定义
数据时进行的。如果你有进一步的问题,你应该用你的尝试/研究提出另一个问题