[ Python入门教程 ] Python中JSON模块基本使用方法

Posted Beng Dou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ Python入门教程 ] Python中JSON模块基本使用方法相关的知识,希望对你有一定的参考价值。

  JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据。用于完成字符串和python数据类型间进行转换。

json模块基本函数

  json.dumps():把Python数据类型转换成JSON字符串

  json.loads():把JSON字符串转换成Python数据类型

  json.dump():把Python数据类型转换成JSON字符串并存储在文件中

  json.load():把文件打开并将JSON字符串转换成Python数据类型

  说明:使用 JSON 函数需要导入 json 库:import json

json模块使用实例

  1、将python中的字典转换为JSON字符串。说明:转换后的JSON字符串都是放在双引号中。

>>> import json
>>> student_dic = {name:ACME, age:18, grade : 90}
>>> json_data = json.dumps(student_dic)
>>> type(json_data)
<class str>
>>> print(json_data)
{"name": "ACME", "age": "18", "grade": "90"}

  2、将JSON字符串转换为Python字典。说明:字符串必须放在双引号中,否则会报错。

>>> tran_data = json.loads(json_data)
>>> type(tran_data)
<class dict>
>>> print(tran_data)
{name: ACME, age: 18, grade: 90}

  3、将Python字典类型数据写入json文件中

>>> import json
>>> student_dic = {name:ACME, age:18, grade : 90}
>>> with open(json.txt,w) as f:
...   json.dump(student_dic,f)
...
>>>

  查看json.txt文件内容,如下:

d:pycharm>type json.txt
{"name": "ACME", "age": "18", "grade": "90"}

  说明:type为dos命令,作用是查看文件内容。

  4、读取JSON文件,并把字符串变换为Python数据字典

>>> with open(json.txt,r) as fr:
...   student_dict = json.load(fr)
...
>>> type(student_dict)
<class dict>
>>> print(student_dict)
{name: ACME, age: 18, grade: 90}

  5、将Python字典类型转换为JSON字符串,并以指定格式输出。

>>> import json
>>> student_dic = {name:ACME, age:18, grade : 90}
>>> json_data = json.dumps(student_dic,indent=4)
>>> print(json_data)
{
    "name": "ACME",
    "age": "18",
    "grade": "90"
}

  6、将Python字典类型转换为JSON字符串,并按键排序输出。

>>> json_data = json.dumps(student_dic,sort_keys=True,indent=4)
>>> print(json_data)
{
    "age": "18",
    "grade": "90",
    "name": "ACME"
}

  7、Python基本类型转换为JSON字符串的特殊变化。

>>> spec_value_dict = {a:True,b:False,c:None}
>>> json_data = json.dumps(spec_value_dict,indent=4)
>>> print(json_data)
{
    "a": true,
    "b": false,
    "c": null
}
>>>

 说明:Python中的True转换为true,False转化为false,None转换为null。使用loads将JSON类型转换后还原,如下:

>>> json.loads(json_data)
{a: True, b: False, c: None}

小结

  本文仅是描述了Python基本类型与JSON字符串间转换的基本使用方法。对于JSON编解码更多功能使用可以阅读官方文档获取:https://docs.python.org/3/library/json.html

以上是关于[ Python入门教程 ] Python中JSON模块基本使用方法的主要内容,如果未能解决你的问题,请参考以下文章

python 基础 7.8 json--下

python中怎样将unicode转换成原来的中文?

Python JSON

python 一个XML解析

python api

python多进程——进程间通信