python写入json文件_Python JSON文件读写简明教程

本节教程将为大家介绍如何使用 Python 语言来读/写 JSON 文件。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON 简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。

JSON 具有良好的可读性和便于快速编写的特性,适合于服务器与 JavaScript 客户端的交互,是目前网络中主流的数据传输格式之一,应用十分广泛。

JSON基本语法

JSON 数据以一种 key-value(键值对)的方式存在。JSON 值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值( True 或 False )、数组(在方括号中)、对象(在花括号中)、null(空值)等。

JSON 的语法规则如下:

并列的数据之间用逗号(“,”)分隔;

映射用冒号(“:”)表示;

并列数据的集合(数组)用方括号(“[ ]”)表示;

映射的集合(对象)用大括号(“{}”)表示。

JSON 的 Object(对象类型):用 { } 包含一系列无序的 key-value 键值对表示,其中 key 和 value 之间用冒号分割,每个 key-value 之间用逗号分割。访问其中的数据,通过 obj.key 来获取对应的 value,例如:json={"name":"小芳", "age":16}。

JSON 的 Array(数组类型):使用 [ ] 包含所有元素,每个元素用逗号分隔,元素可以是任意的值。访问其中的元素,使用索引号从 0 开始。例如:json=["唱歌","编程","打球"]。

JSON 的复杂数据形式为 Object 或数组中的值还可以是另一个 Object 或者数组,例如:json={"name":"小芳"," hobby ":[ "唱歌","编程","打球"]}。

Python 读取 JSON 文件

在 Python 中若要进行 JSON 文件的读写,需要添加 JSON 模块。在 Python 中读取 JSON 文件是通过调用 json.load() 函数来实现的,json.load() 函数的语法格式如下:

json.load(file, encoding="utf-8")

函数中的参数 file 表示 JSON 文件名,encoding 表示编码方式。

Python 存储 JSON 文件

存储 JSON 文件需要调用 json.dump() 函数,该函数的语法格式如下:

json.dumps(data, file, sort_keys=False, indent=4, separators=(',', ': '), encoding="utf-8", ensure_ascii=False)

函数中的参数说明如下:

data:表示存储的 JSON 数据;

file:表示存储的 JSON 文件名;

sort_keys:表示是否排序,默认为 False,不排序;

indent:指定每个变量的缩进量,一般填 4,缩进 4 格;

separators:消除多余的空格,以减小文件大小;

encoding:编码方式,默认为“utf-8”。

其示例代码 example1.py 如下。

# -*- coding: utf-8 -*-

import json

#写文件

data = [{'a': 'apple', 'b': 'banana', 'c': [1, 2, 3]}, 11, 'test', True]

file = open('d:/data/jsontest1.txt','w')

json.dump(data, file)

file.close()

#读文件

file = open('d:/data/jsontest1.txt')

data = json.load(file,encoding="utf-8")

print(data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值