繁体   English   中英

如何对 json 数据进行排序以进行转储?

[英]How can I sort json data for dumping?

我正在尝试将 Python 中的 JSON 数据转储到文件中。 我从 Flask 发布请求中收到作为ImmutableMultiDict的数据。 它看起来如下: ImmutableMultiDict([('prefix', ''), ('key1', 'value1'), ('key2', 'value2')])文件中的数据应该如下所示:

{ "prefix": [
    {"key1": "value1"},
    {"key2" : "value2"}
  ]
}

前缀以及所有其他数据都是发布请求的一部分。 我现在的问题是:我怎样才能json.dump ImmutableMultiDict 使其在文件中看起来像这样? 现在它看起来像这样:

{
    "prefix": "",
    "key1": "value1",
    "key2": "value2",
}

我想以另一种方式进行的原因是因为我想稍后通过使用“前缀”键将其附加到数组来获取 append 数据。 谁能告诉我正确执行此操作的方法吗?

谢谢。

编辑:

行。 我修复了它,所以它看起来应该是现在的样子。 Python代码:

def write_to_json(file, data, prefix):
    with open(file, "a", encoding="utf-8") as f:
        json.dump({prefix : list(data)}, f, indent=4)

结果:

{
    "prefix": [
        "key1",
        "key2"
    ]
}

由于您没有提及任何相关内容,我建议使用flat参数检查ImmutableMultiDict#to_dict() ,请参阅文档

也许我理解不正确,但你是否试图为“前缀”设置多个键? 这与 JSON 的定义相反,并且不会起作用,因为字典(MultiDict)的键使用类似集合的东西来存储它们的键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM