# 原创文章,未经允许请勿转载

通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据。

之前使用这个模块时,都是随用随查,浅尝辄止,对模块的功能了解不深。

随着使用次数的增加,我对这个功能完善的模块有了更多的了解,记录如下。

1、json字符串转为字典

json.load / json.loads

两个方法功能类似,可选参数也相同,最大的区别在于,json.load方法接受的输入,即第一个参数,是包含json数据的文件对象,如open方法的返回对象,

json.loads接受的输入是json字符串,而非文件对象。从输入类型的区别也可以看出两者的使用场合。

可选参数包括是否需要转换整型、浮点型等数值的参数,还有一些复杂的功能,暂时没有用到,以后有机会再了解。

2、字典转换为json

json.dump / json.dumps

对应于load和loads,dump的第一个参数是对象字典,第二个参数是文件对象,可以直接将转换后的json数据写入文件,dumps的第一个参数是对象字典,其余都是可选参数。dump和dumps的可选参数相同,这些参数都相当实用,现将用到的参数记录如下:

ensure_ascii 默认为True,保证转换后的json字符串中全部是ascii字符,非ascii字符都会被转义。如果数据中存在中文或其他非ascii字符,最好将ensure_ascii设置为False,保证输出结果正常。

indent 缩进,默认为None,没有缩进,设置为正整数时,输出的格式将按照indent指定的半角空格数缩进,相当实用。

separators 设置分隔符,默认的分隔符是(',', ': '),如果需要自定义json中的分隔符,例如调整冒号前后的空格数,可以按照(item_separator, key_separator)的形式设置。

sort_keys 默认为False,设为True时,输出结果将按照字典中的key排序。

1 >>> importjson2 >>> a ={}3 >>> a['1'] = 2

4 >>> a['ad'] = 'ertwer'

5 >>> a['02'] = 'oierte'

6 >>> a[2] = [1, 'a']7 >>> a['non_ascii'] = "青团 》 熊猫 ?"

8 >>> a['ss'] =a.copy()9 >>> print(json.dumps(a)) #默认参数输出,无缩进,中文字符都被转义

10 {"2": [1, "a"], "02": "oierte", "ss": {"ad": "ertwer", "2": [1, "a"], "02": "oierte", "1": 2, "non_ascii": "\u9752\u56e2 \u300b \u718a\u732b \uff1f"}, "1": 2, "ad": "ertwer", "non_ascii": "\u9752\u56e2 \u300b \u718a\u732b \uff1f"}11 >>>

12 >>> print(json.dumps(a, ensure_ascii=False, indent=4)) #四空格缩进,中文字符全部正常

13 {14 "2": [15 1,16 "a"

17 ],18 "02": "oierte",19 "ss": {20 "ad": "ertwer",21 "2": [22 1,23 "a"

24 ],25 "02": "oierte",26 "1": 2,27 "non_ascii": "青团 》 熊猫 ?"

28 },29 "1": 2,30 "ad": "ertwer",31 "non_ascii": "青团 》 熊猫 ?"

32 }33 >>>

python json模块rodas方法_json模块使用总结——Python相关推荐

  1. python函数的使用方法图解_零基础python之4函数重用-函数与模块(附详细的步骤和程序)...

    4代码重用--函数与模块 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. 对之前的vowels代码功能创建一个函数名为search_for_vowels( ) 在函数调用时结 ...

  2. python文件处理seek()方法的参数是,在Python中操作文件之seek()方法的使用教程

    在Python中操作文件之seek()方法的使用教程 seek()方法在偏移设定该文件的当前位置.参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当前位置,2表示相对 ...

  3. 简单工厂模式(Java、Python)、工厂方法模式(Java、Python)

    目录 一.试画出简单工厂模式的模式结构图,并对模式进行分析 1.1 简单工厂模式结构图: 1.2 简单工厂模式的实现(Java) 1.3 简单工厂模式的优缺点 1.4 简单工厂模式实现(Python) ...

  4. python编程的基本方法有哪些_学习Python编程的11个入门技巧

    我们非常激动,您决定开始学习Python的旅程!我们从读者那里收到的最常见问题之一是"学习Python的最佳方法是什么?" 我相信学习任何编程语言的第一步就是要确保您了解如何学习. ...

  5. python xpath定位元素方法_二、appium+python xpath、android_uiautomator定位元素的方法

    1.继承webdriver的几个常见的定位方法 a.find_element_by_id("id") b.find_element_by_name() #text值,appium ...

  6. python json解析 超过对象_json序列化数据超出最大值(maxJsonLength)

    标签: 1.序列化: 以下代码在对象过大时会报错:进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. //jsonObj比较大的时候会报错 var seria ...

  7. python json文件对比方法

    #file1.json {'a':{'a1':'123''a2':'456'}'b':{'b1':'acs''b2':'abc'} } #file1.json {'a':{'a1':'123''a2' ...

  8. python安卓自动化实现方法_带你用 Python 实现自动化群控(入门篇)

    原标题:带你用 Python 实现自动化群控(入门篇) 来自公众号: AirPython 1. 前言 群控,相信大部分人都不会陌生!印象里是一台电脑控制多台设备完成一系列的操作,更多的人喜欢把它和 H ...

  9. python处理excel的方法有哪些_用Python实现excel 14个常用操作

    自从学了Python后就逼迫自己不用Excel,所有操作用Python实现.目的是巩固Python,与增强数据处理能力.这也是我写这篇文章的初衷.废话不说了,直接进入正题. 数据是网上找到的销售数据, ...

最新文章

  1. 一个mongosee例子
  2. 瀑布流布局JavaScript实现
  3. supervisor安装部署和使用实例
  4. Cannot retrieve mapping for action
  5. Mysql count() 语句
  6. LeetCode 632. 最小区间(排序+滑动窗口)
  7. C++Primer学习之一引用和指针
  8. Web前端入门学习之JS基础知识梳理汇总
  9. 《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)
  10. word中硬回车与软回车的区别与替换·转换(shift+enter)
  11. GIS应用技巧之制作土地利用转移矩阵表
  12. FDD下行信道估计的一些知识点
  13. vue2服务端渲染 php,详解如何使用Vue2做服务端渲染
  14. 第十二周练兵区——编程题——不计入总分
  15. 【考研经验】2018跨考北京大学软件工程401分经验分享
  16. Python与rrdtool的结合模块
  17. 51单片机数码管滚动显示学号_静、动态数码管动态显示
  18. linux date 计算时间差,linux shell date 时间运算以及时间差计算方法
  19. 程序设计思维与实践月模拟题X3
  20. 计算机键盘gt,雷神(Thunderobot)911GT-Y1笔记本电脑键盘评测-ZOL中关村在线

热门文章

  1. POJ 2069最小球覆盖 HDU3007最小圆覆盖【模拟淬火算法】
  2. 乘法逆元总结 3种基本方法
  3. HDU 1556 前缀和 树状数组 线段树
  4. Python-类的学习
  5. .net core发布 正在发现数据上下文_Tableau 2020.4 正式发布,即刻探索浏览器中的 Tableau Prep Builder、空间增强等新功能...
  6. 【Spring Boot 分享】开源项目【8个】
  7. Spring Boot-@EnableWebMvc注解
  8. class path resource [log4j.properties] cannot be resolved to URL because it does not exist
  9. JQuery-学习笔记04【基础——JQuery基础案例】
  10. 要想保研成功!寒假就干这几件事~