Python dict to json: 如何将字典转换为JSON文件

5,646 阅读3分钟

How To Convert Python Dictionary To JSON

JSON(JavaScript Object Notation)是用于呈现结构化数据的著名数据格式。在服务器和网络应用之间以JSON格式传输和接收数据是一种普遍的做法。你可以查看《如何在Python中解析JSON》。

Python dict到json

要将Python dict转换为json,使用json.dumps()方法。 **json.dumps()是一个内置函数,可以将字典转换为一个字符串对象。"json "**模块使得解析包含JSON对象的JSON字符串变得容易。

要把一个字符串加载到dict中,使用json.load() 方法。如果你有一个Python对象,你可以使用json.dumps()方法将其转换为JSON字符串。

要在Python中进行任何与json有关的操作,请使用Python的json 模块。如果你在使用json模块之前导入它,会有帮助。

import json

json模块使得解析JSON字符串和包含JSON对象的文件变得容易。

你可以使用**json.dumps()**方法将一个字典转换为JSON字符串。

对JSON进行编码的过程通常被称为序列化。这个术语指的是将数据转化为一系列的字节(因此是串行)存储或在网络上传输。

你可能还会听到marshaling这个词,但那是另一个讨论。所以很自然地,反序列化是一个对等的过程,即对已经以JSON标准存储或传送的数据进行解码。

请看下面的例子。

# app.py

import json

appDict = {
  'name': 'messenger',
  'playstore': True,
  'company': 'Facebook',
  'price': 100
}
app_json = json.dumps(appDict)
print(app_json)

所以,我们定义了一个字典,然后使用json.dumps() 方法将该字典转换为 JSON。输出结果如下。

How To Convert Python Dictionary To JSON Tutorial With Example

如果你想对键进行排序,使用sort_keys作为json_dumps()的第二个参数

请看下面的例子。

# app.py

import json

personDict = {
  'bill': 'tech',
  'federer': 'tennis',
  'ronaldo': 'football',
  'woods': 'golf',
  'ali': 'boxing'
}
app_json = json.dumps(personDict, sort_keys=True)
print(app_json)

其输出结果如下。

Python Dictionary To JSON Tutorial With Example

**json.dumps()**返回python dict的JSON字符串表示。

在Python中写JSON到一个文件

要在Python中把JSON写进一个文件,请使用**json.dump()**方法。json.dump()是一个内置的Python方法,可以将对象转换为合适的json对象。

请看下面的代码。

# app.py

import json

personDict = {
  'bill': 'tech',
  'federer': 'tennis',
  'ronaldo': 'football',
  'woods': 'golf',
  'ali': 'boxing'
}

with open('person.txt', 'w') as json_file:
  json.dump(personDict, json_file)

在上面的程序中,我们用'w'以书写模式打开了名为person.txt的文件。如果文件不存在,它将被创建。然后,json_dump()personDict转换为JSON字符串,保存在person.txt文件中。

当你运行上述代码时,person.txt 文件被创建,该文件内的json字符串被写入。

Python转储dict到json文件

假设你有一个这样的字典。

# app.py

data = {'Eleven': 'Millie',
        'Mike': 'Finn',
        'Will': 'Noah'}

现在,你必须把这个 dict 转储为 json 到一个文件,那么比较简单的方法是通过以下方式。

# app.py

import json

data = {'Eleven': 'Millie',
        'Mike': 'Finn',
        'Will': 'Noah'}
with open('app.json', 'w') as fp:
    json.dump(data, fp)

如果你运行上面的文件,你可以看到app.json 文件被创建,然后它的内容如下。

{ "Eleven": "Millie", "Mike": "Finn", "Will": "Noah" }

上面的例子是Python中文件处理的一个简单案例。我们使用了Python中的File open()函数。

Python dict 到 json 的双引号

要创建一个所有名字都在双引号内的字典,而不是默认的单引号,使用下面的代码。

# app.py

import json


class App(dict):
    def __str__(self):
        return json.dumps(self)


couples = [['eleven', 'Millie'],
           ['mike', 'Finn'],
           ['max', 'Sadie'],
           ['dustin', 'Gaten']]

pairs = App(couples)
print(pairs)

请看输出结果。

➜  pyt python3 app.py
{"eleven": "Millie", "mike": "Finn", "max": "Sadie", "dustin": "Gaten"}
➜  pyt

本教程就到此为止。

推荐帖子

列表到json

词典到数据框架

词典到CSV

脚本中的 "字符串 "转为 "列表"。

Python字符串转为int

The postPython dict to json: How to Convert Dictionary to JSONappeared first onAppDividend.