写入 JSON 字段及其键

Write JSON field with its key

我有 JSON 变量 var,其内容如下:

[{"name":"name0", "surname":"surname01", "surname2":"surname02", "number": 0}, {"name":"name1", "surname":"surname11", "surname2":"surname12", "number": 1}]

我想在 JSON 文件中只写 namenumber 字段。
目前,我正在通过以下方式进行:

f.write('[')
for a, i in enumerate(var):
  f.write('{"name":' + i['name'] + ', "number":' + i['number'] + '}')
  if(a==0):
    f.write(',')
f.write(']')
f.close()

是否有更好的方法将 Python 中 JSON 字段的子集写入文件?

您可以使用 json 模块并将其转换为所有列表

import json
newVar = []
for i in var:
    newVar.append({'name': i['name'], 'number': i['number']})
return json.dumps(newVar)

然而这并没有好多少,只是不同

您可以使用 list comprehension and the json 模块来缩短它;

import json
json.dump([{'name': i['name'], 'number': i['number']} for i in var ], f)