【问题标题】:Python, writing things to jsonPython,将东西写入 json
【发布时间】:2013-04-09 01:40:46
【问题描述】:

我就是这种情况。我有 2 个列表和两个整数,我需要将它们全部放入一个 JSON 文件中,以便我可以将它传递给另一个 Python 程序。我希望最终的文件/结构类似于:

 File:{
        numbers : [1,2,3]
        strings : ["a", "b" , "c"]
        x : 0
        y : 0
    }

有没有一种方法可以自动执行此操作,而无需将其全部写成一个大字符串?我假设它使用转储,但我不完全确定如何正确使用它以及它将如何合并变量标签(即数字、字符串)或如何将每一行添加到单个 JSON 结构中。

import json
n = [1, 2, 3]
s = ["a", "b" , "c"]
x = 0
y = 0
nums = json.dumps(n,)
strings = json.dumps(s)
print(nums)

【问题讨论】:

    标签: python json python-3.x


    【解决方案1】:

    把所有东西都放在一个字典里:

    json.dumps({'numbers': n, 'strings': s, 'x': x, 'y': y})
    

    结果:

    >>> json.dumps({'numbers': n, 'strings': s, 'x': x, 'y': y})
    '{"numbers": [1, 2, 3], "y": 0, "x": 0, "strings": ["a", "b", "c"]}'
    

    请注意,JSON 对象和 Python 字典都没有特定的顺序。

    【讨论】:

    • x 和 y 的键不应该是字符串吗?即'x''y',而不是xy
    • 会保持数字和字符串的内部顺序吗?
    • @EasilyBaffled:是的,因为这些是列表。在 Python 和 JavaScript (JSON) 中,列表都有顺序。
    • @user9876:没问题,我意识到发生了什么。
    • @EasilyBaffled:您可以使用json.dump() 将结果直接写入文件。 .loads() 再次将 JSON 字符串转换为 Python 数据结构,它是 .dumps() 的镜像操作。类似地,.load() 需要一个文件来读取并从其中存储的数据中返回 Python 结构。
    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多