1、写操作.json文件dumps()、dump()函数

 d = {
'zll': {
'addr': '北京',
'age': 28
},
'ljj': {
'addr': '北京',
'age': 38
}
}
 fw = open('user_info.json', 'w', encoding='utf-8')
# ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似\uXXXX的显示数据,设置成False后,就能正常显示
# dic_json = json.dumps(d,ensure_ascii=False,indent=4) #字典转成json格式,字典转成字符串
dic_json = json.dumps(d, ensure_ascii=True, indent=4) # 字典转成json格式,字典转成字符串
fw.write(dic_json)
6 fw.close()
结果
 1 {
2 "zll": {
3 "addr": "\u5317\u4eac",
4 "age": 28
5 },
6 "ljj": {
7 "addr": "\u5317\u4eac",
8 "age": 38
9 }
10 }
 fw = open('user_info.json', 'w', encoding='utf-8')
# ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似\uXXXX的显示数据,设置成False后,就能正常显示
dic_json = json.dumps(d,ensure_ascii=False,indent=4) #字典转成json,字典转成字符串
fw.write(dic_json)
6 fw.close() 结果
{  "zll": {  "addr": "北京",  "age": 28   },  "ljj": {  "addr": "北京",  "age": 38   }  }

dump() 操作json文件 写的操作

 fw = open('user_info.json', 'w', encoding='utf-8')
json.dump(d,fw,ensure_ascii=False,indent=4) #操作文件
fw.close() 结果
{
"zll": {
"addr": "北京",
"age": 28
},
"ljj": {
"addr": "北京",
"age": 38
}
}

2、读操作load()、loads()

 # json串是一个字符串
f = open('product.json',encoding='utf-8')
res = f.read()
product_dic = json.loads(res) #把json串,变成python的数据类型,只能转换json串内容
print(product_dic)
print(product_dic['iphone'])
# t = json.load(f)
# print(t) #传一个文件对象,它会帮你直接读json文件,并转换成python数据
# print(t['iphone'])
f.close() 结果
{'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}}
{'color': 'red', 'num': 1, 'price': 98.5}
 # 文件读写
def op_file(file, dict_temp=None):
if dict_temp:
with open(file, 'w', encoding='utf-8') as fw:
json.dump(dict_temp, fw, ensure_ascii=False, indent=4)
return 1
else:
with open(file, 'r', encoding='utf-8') as fr:
dict_temp = json.load(fr)
return dict_temp

python中json操作的更多相关文章

  1. python中json操作了解

    什么是接口? 交换数据 http://openweathermap.org/current json简介 JSON 是存储和交换文本信息的语法.类似 XML JSON 语法是 JavaScript 语 ...

  2. Python中json的简单读写操作

    Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  3. Neo4j:图数据库GraphDB(四)Python中的操作

    本文总结下Python中如何操作Neo4j数据库,用到py2neo包,Pip install 一下. 1 连接neo4j数据库:跟其它数据库一样,操作前必须输入用户名和密码及地址连接一下. from ...

  4. python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  5. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  6. python中文件操作的其他方法

    前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...

  7. python MySQLdb用法,python中cursor操作数据库(转)

    数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...

  8. (数据科学学习手札126)Python中JSON结构数据的高效增删改操作

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一期文章中我们一起学习了在Python ...

  9. python中json的操作示例

    先上一段示例 # -*- coding: cp936 -*- import json #构造一个示例数据,并打印成易读样式 j = {} j["userName"]="a ...

随机推荐

  1. 2017.10.25 es-sql分页无效

    1.问题描述 使用es-sql聚合查询时,发现无法进行分页操作. 结果为16条: 当使用limit语法进行分页之后,发现并没有效果(以取5条记录为一页为例). 首先查询前5条记录: 返回的记录如下图: ...

  2. Sublime Theme

    Package Control Messages======================== Theme - Spacegray----------------- Thanks for insta ...

  3. WIN7怎样把屏幕改为16位色

    1 右击桌面,选择屏幕分辨率   2 选择高级设置   3 点击"监视器"选项卡,把颜色改为16位.   4 屏幕会暂时黑屏一段时间,随后主题将自动切换为基础版(失去Areo效果) ...

  4. 关于winform中子窗体最大化的问题

    在构建winform程序时,普遍的做法是将主窗体设置成 MDI Container,使它可以放置工作窗体(Form 而非 UserControl).工作窗体作为子窗体填充工作区,一般设置 FormBo ...

  5. Java: 获取当前执行位置的文件名/类名/方法名/行号

    在 JAVA 程序有时需要获取当前代码位置, 于是就利用 Thread.currentThread().getStackTrace() 写了下面这个工具类, 用来获取当前执行位置处代码的文件名/类名/ ...

  6. Nginx主动连接与被动连接的差别

    1.主动连接是指Nginx主动发起的同上游server的连接:被动连接是指Nginx接收到的来自client主动发起的连接; 2.主动连接用ngx_peer_connection_t结构体表示:被动连 ...

  7. SVN学习(三)——在Eclipse 中安装和使用SVN客户端插件

    0 基本概念了解 0.1 SVN的工作原理:采取客户端/服务器模式——在服务器的版本库中保存项目文件的各个版本,所有参与协同开发的程序员在自己本地电脑上保存一个工作副本.SVN支持程序员将本地副本更新 ...

  8. WebLogic92数据源配置

    一. 将数据库连接所需的包导入(非常重要) 最简单的方法就是,将所需jar包复制至%MYDOMAIN_HOME%/lib中,约定本应用域的名称为“ MyDomain”,根路径为%MYDOMAIN_HO ...

  9. YII用户注冊表单的实现熟悉前台各个表单元素操作方式

    模还是必须定义两个基本方法.还有部分label标签映射为汉字,假设进行表单验证,还要定义一些验证规则: <? php /* * 用户模型 * */ class user extends CAct ...

  10. Redis之Hash数据结构

    0.前言 redis是KV型的内存数据库, 数据库存储的核心就是Hash表, 我们执行select命令选择一个存储的db之后, 所有的操作都是以hash表为基础的, 下面会分析下redis的hash数 ...