一、JSON是什么

JSON 是用于存储和交换数据的语法。JSON (JavaScript Object Notation)最初是用JavaScript对象表示法编写的文本,但随后成为了一种常见格式,被包括Python在内的众多语言采用。

python里面的语言对象一般只有python能读懂,为了能比较好储存,而且能够让别的编程语言也能读懂这些数据,就会用json来转换储存。或者说把json数据类型的转化成python的数据类型。

1.json的数据类型和python数据类型的区别

Python Json
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null

2.json库的一些方法

方法 作用
json.dumps() 将python对象编码成Json字符串
json.loads() 将Json字符串解码成python对象
json.dump() 将python中的对象转化成json储存到文件中
json.load() 将文件中的json的格式转化成python对象提取出来

二、json.dump()和json.dumps()的区别

json.dumps()是把python对象转换成json对象的一个过程,生成的是字符串。
json.dump()是把python对象转换成json对象生成一个fp的文件流,和文件相关。

1.json.dumps()
在使用json方法的时候要记住先引进这个库,用import json

2.json.dump()
这个方法结合了文件的操作,把转换后的json储存在了文件里。

3.dumps的一些参数(重点)

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

sort_keys =True:是告诉编码器按照字典排序(a到z)输出。如果是字典类型的python对象,就把关键字按照字典排序。
indent=2:参数根据数据格式缩进显示,读起来更加清晰。
separators:是分隔符的意思,参数意思分别为不同dict项之间的分隔符和dict项内key和value之间的分隔符,把:和,后面的空格都除去了。
skipkeys:默认值是False,如果dict的keys内的数据不是python的基本类型(str,unicode,int,long,float,bool,None),设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类key 。
ensure_ascii=True:默认输出ASCLL码,如果把这个该成False,就可以输出中文。
check_circular:如果check_circular为false,则跳过对容器类型的循环引用检查,循环引用将导致溢出错误(或更糟的情况)。
allow_nan:如果allow_nan为假,则ValueError将序列化超出范围的浮点值(nan、inf、-inf),严格遵守JSON规范,而不是使用JavaScript等价值(nan、Infinity、-Infinity)。
default:default(obj)是一个函数,它应该返回一个可序列化的obj版本或引发类型错误。默认值只会引发类型错误。

4.dump的参数

dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, separators=None,default=None, sort_keys=False, **kw)

其实dump和json.dumps()就是多了一个fp的文件参数,就上面讲过这两个的区别,一个是关于文件之间的储存,一个是字符串之间的转换。

三、json.load()和json.loads()的区别

json.loads()是针对内存对象,将string转换为dict。
json.load()针对文件句柄,将json格式的字符转换为dict,从文件中读取 (将string转换为dict)

1.json.loads()

2.json.load()

原文链接:https://blog.csdn.net/qq_46293423/article/details/105785007
https://blog.csdn.net/u014552678/article/details/72990994
https://www.iteye.com/blog/liuzhijun-1859857
https://blog.csdn.net/weixin_40636692/article/details/81212304

Python存取JSON相关推荐

  1. python:Json模块dumps、loads、dump、load介绍

    20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...

  2. python中json dumps_python中json.loads,dumps,jsonify使用

    search_info = {'id':132,'user_role':3} print type(search_info) #输出 #转为string用dumps print type(json.d ...

  3. python构建json_如何使用Python构建JSON API

    python构建json The JSON API specification is a powerful way for enabling communication between client ...

  4. python将一个json字典转换为一个python对象

    python将一个json字典转换为一个python对象 示例代码: from collections import OrderedDict import jsondata = '{"nam ...

  5. python中json的使用

    python中json的使用 代码如下: import jsondict1 = {'A': 'a', 'B': 'b', 'C': 'c'} print(type(dict1)) print(dict ...

  6. python2 json大数据_大数据技术之python 操作json

    本篇文章探讨了大数据技术之python 操作json,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. #!/usr/bin/env python import json s = ...

  7. python中json和字典相互转化

    2019独角兽企业重金招聘Python工程师标准>>> json 主要包含四个方法: dump和dumps(从Python生成JSON),load和loads(解析JSON成Pyth ...

  8. 解决python 保存json到文件时 中文显示16进制编码的问题

    解决python 保存json到文件时 中文显示16进制编码的问题 参考文章: (1)解决python 保存json到文件时 中文显示16进制编码的问题 (2)https://www.cnblogs. ...

  9. python:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes问题解决

    python:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes问题解决 参考文章: (1) ...

最新文章

  1. 阅面科技赵京雷:全面拥抱AI2.0时
  2. 使用LINQ更新集合中的所有对象
  3. 关不关机 扫地机器人_BOBOT扫地机器人能扫还能拖,你的家庭好助理
  4. Event/window.Event属性和方法
  5. VS2010如何在编辑器自动换行
  6. 论文浅尝 | Multilingual LAMA: 探索多语言预训练语言模型中的知识
  7. 数据类别不平衡/长尾分布?不妨利用半监督或自监督学习
  8. Spring中IoC两种接口和两种依赖注入方式的比较
  9. matlab做信号实验需要安装那些模块_无人机基于Matlab/Simulink的模型开发(连载一)...
  10. fzu 2204 7 dp
  11. 入住互联网酒店平台的体验
  12. 学习chirp信号笔记
  13. 近期刷题总结[2019 03 09]
  14. Java集合类和数组之间的相互转换
  15. pdo_mysql扩展库_MySQL数据库之PDO扩展
  16. ng2 绑定输出html,Angular2的数据绑定
  17. 微信小程序 mark用法
  18. Java.IO.InputStream-OutputStream
  19. 在家远程控制(远程桌面)到公司的电脑
  20. php外翻截骨术,楔形截骨术与V形截骨术治疗拇外翻效果相似

热门文章

  1. 宽带波形测试软件,如何让超宽带(UWB)信号测试变得简单易行?
  2. Docker搭建私有Rap2
  3. 金融大数据解决方案:如何做金融行业的数据治理?
  4. JS基础21-Git版本控制工具
  5. python图像识别学习
  6. 清北复交等9校三位一体/综合评价真题汇总!
  7. 无盘主机服务器,无盘主机服务器视频
  8. 【テンプレート】洛谷
  9. 血清标志物数据库推荐
  10. 【高级UI】【031】阿里VLayout使用和源码解析