json函数

使用json函数之前,首先需要导入json模块,import json

1)、json.dumps()函数

该函数是将 Python 对象编码成 JSON 字符串,例如:

 import json
d={'谦谦':{'sex':'男','addr':'北京','age':34},'千千':{ 'sex':'女','addr':'北京', 'age':34},}
print(json.dumps(d,ensure_ascii=False,indent=4)) #字典转成json,字典转换成字符串 加上ensure_ascii=False以后,可以识别中文, indent=4是间隔4个空格显示 #以上代码转换的结果是:
{
"谦谦": {
"sex": "男",
"addr": "北京",
"age": 34
},
"千千": {
"sex": "女",
"addr": "北京",
"age": 34
}
}

2)、json.dump()函数

该函数是可以将 Python 对象编码成 JSON 字符串,并自己帮你写入到文件中,不需要再单独写文件,例如:

 import json
d={'谦谦':{'sex':'男','addr':'北京','age':34},'千千':{ 'sex':'女','addr':'北京', 'age':34},}
fw =open('user_info.json','w',encoding='utf-8') #打开一个名字为‘user_info.json’的空文件
json.dump(d,fw,ensure_ascii=False,indent=4)#字典转成json,字典转换成字符串,不需要写文件,自己帮你将转成的json字符串写入到‘user_info.json’的文件中

3)、json.loads()函数

文件product.json的原文件内容如下:

{
"iphone":{
"color":"red",
"num":1,
"price":98.5
},
"wather":{
"num":100,
"price":1,
"color":"white"
}
}

使用json.loads()函数把json串变成python的数据类型:如下:

 import json
f =open('product.json',encoding='utf-8') #打开‘product.json’的json文件
res=f.read() #读文件
print(json.loads(res))#把json串变成python的数据类型:字典 #以上转换的结果是:
{'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}}

4)、json.load()函数

该函数把json串变成python的数据类型:字典,传一个文件对象,它会帮你读文件,不需要再单独读文件,例如:

import json
f =open('product.json',encoding='utf-8') #打开文件
print(json.load(f))#把json串变成python的数据类型:字典,传一个文件对象,它会帮你读文件,不需要再单独读文件 #以上转换执行的结果是:
{'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}}

Python3之json文件操作的更多相关文章

  1. Python3中IO文件操作的常见用法

    首先创建一个文件操作对象: f = open(file, mode, encoding) file指定文件的路径,可以是绝对路径,也可以是相对路径 文件的常见mode: mode = “r”   # ...

  2. python3.x Day3 文件操作

    文件操作:操作文件实际是4步骤1.描述文件是哪个 2.打开文件 3.操作文件 4.关闭文件 1.打开文件使用open方法,代码举例: data=open("wait_you",en ...

  3. Python3读写JSON文件

    JSON简介 JSON(JavaScript Object Notation)即JavaScript对象表示法,一种轻量级,通用的文本数据格式. JSON语法支持对象(Object),数组(Array ...

  4. python3的一些文件操作的脚手架

    用python把原来的脚本重构了一下,其中写了文件操作的一些函数,如下: import os import shutil import hashlib import stat #查找文件夹中的某个文件 ...

  5. python3处理json文件中含有中文dumps的应用

    python3的编码问题一直比较简单 内存中字符串采用unicode 存储到文件中采用utf-8 以下为str,byte互相转换的过程: str = "abc学习" str Out ...

  6. json文件操作

    1.把字典或list转换成字符串方法 json.dumps() 2.把字符串转换成字典方法 json.loads() 3.indent 存储文件时每行加缩进数 4.ensere_asci 文件中有中文 ...

  7. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  8. Python基础:Python函数、文件操作、递归

    函数参数 函数参数包括位置参数,关键字参数,动态参数(*args, **args)三种. 传参的过程是形式参数的赋值. *args传入的参数是元组形式,**args传入的参数是字典形式. 示例代码如下 ...

  9. 包含全国所有省份、城市、县的一份json文件

    最近做项目时,有个需要全国所有省市信息的数据,于是百度了一下,发现CSDN的很多都需要积分下载,无解!所以自己收集了一份整理了出来. 简单说明一下 1.这是一份json文件,这是因为全国的省市信息一般 ...

随机推荐

  1. ie6,7不支持display:inline-block;

    解决方案: display:inline-block; *display:inline;*zoom:1; ie6:* _ ,ie7:*

  2. ES基本语法

    7.2.0版本 1 创建库 http://{ip}:{port}/{库名称} put 2 查询库 http://{ip}:{port}/_cat/indices?v get health status ...

  3. redis scan count的含义/二进制安全问题

    redis是单线程的,keys查询键类似hbase的全表扫描(也可以理解为select *),大数据量时非常耗时,因此官方给出了scan,使用scan类似数据库分页,可以指定查询多少个元素,官网的说明 ...

  4. sklearn各种分类器简单使用

    sklearn中有很多经典分类器,使用非常简单:1.导入数据 2.导入模型 3.fit--->predict 下面的示例为在iris数据集上用各种分类器进行分类: #用各种方式在iris数据集上 ...

  5. SpringBoot如何优雅的使用RocketMQ

    目录 SpringBoot如何优雅的使用RocketMQ SpringBoot如何优雅的使用RocketMQ MQ,是一种跨进程的通信机制,用于上下游传递消息.在传统的互联网架构中通常使用MQ来对上下 ...

  6. 21.模块的执行以及__name__

    执行结果: "E:\Program Files\JetBrains\PycharmProjects\python_demo\venv\Scripts\python.exe" &qu ...

  7. DOCKER学习_003:Docker的存储

    一 简介 docker提供数据卷来实现数据共享与持久化,而数据卷的挂载有两种方式: 挂载主机目录(Bind mounts) 数据卷容器(Data Volumes) 数据卷是一个可供容器使用的特殊目录, ...

  8. 机器学习回顾篇(12):集成学习之Bagging与随机森林

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  9. leetcode.769旋转字符串

    给定两个字符串, A 和 B. A 的旋转操作就是将 A 最左边的字符移动到最右边. 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' .如果在若干次旋转操作之后,A 能变成B ...

  10. 浅谈Java中接口与抽象类的异同

    浅谈Java中接口与抽象类的异同 抽象类和接口这两个概念困扰了我许久,在我看来,接口与抽象类真的十分相似.期间也曾找过许许多多的资料,参考了各路大神的见解,也只能是简简单单地在语法上懂得两者的区别.硬 ...