python字典与json转换_python字典与json转换的方法总结

在python中json分别由列表和字典组成,本文主要介绍python中字典与json相互转换的方法。使用json.dumps可以把字典转成json字符串。使用json.loads可以把json字符串转为字典类型的数据。

1、字典转json

使用json.dumps

json.dumps是对python对象编码成json对象,可以把字典转成json字符串。

方法格式

#字典转换成json字符串

json.dumps(dict)

实例

# 创建字典

info_dict = {'name': 'Joe', 'age': 20, 'job': 'driver'}

# dumps 将数据转换成字符串

info_json = json.dumps(info_dict,sort_keys=False, indent=4, separators=(',', ': '))

# 显示数据类型

print(type(info_json))

f = open('info.json', 'w')

f.write(info_json)

2、json转字典

使用json.loads

json.loads是将json对象解码成python对象,即用于将字典类型的数据转成json字符串。

方法格式

#json字符串转换成字典

json.loads(json_str)

使用实例

In [25]: j

Out[25]: '{"name": "mary", "age": 21}'

In [26]: result = json.loads(j)

In [27]: result

Out[27]: {'name': 'mary', 'age': 21}

In [28]: type(result)

Out[28]: dict

python字典和json字符串相互转化的实例扩展

import json

"""

dumps:将python中的字典转换为字符串

output:

{'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}

{"fontFamily": "\u5fae\u8f6f\u96c5\u9ed1", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}

"""

def json_dumps():

json_dict = {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}

print(type(json_dict))

print(json_dict)

json_str = json.dumps(json_dict)

print(type(json_str))

print(json_str)

"""

dump:将数据写入json文件中

"""

def json_dump():

json_dict = {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}

with open("../file/record.json", "w")as f:

json.dump(json_dict, f)

print("finished")

"""

loads:将字符串转换为字典

output:

{"fontFamily": "微软雅黑", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}

{'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}

"""

def json_loads():

json_str = '{"fontFamily": "\u5fae\u8f6f\u96c5\u9ed1", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}'

print(type(json_str))

print(json_str)

json_dict = json.loads(json_str)

print(type(json_dict))

print(json_dict)

"""

load:读文件,并把字符串变换为Python数据类型

output:

40

{'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}

"""

def json_load():

f = open("../file/record.json", encoding='utf-8')

setting = json.load(f)

print(setting['BaseSettings']['size']['length'])

setting['BaseSettings']['size']['length'] = 40

print(setting)

if __name__ == '__main__':

json_dumps()

json_dump()

json_loads()

json_load()

到此这篇关于python字典与json转换的方法总结的文章就介绍到这了,更多相关python中字典与json相互转换的方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

本文标题: python字典与json转换的方法总结

本文地址: http://www.cppcns.com/jiaoben/python/371641.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

变量声明declare,简单运算符运算,变量测试与内容替换

declare -/ 选项 变量名 - 设类型 取消类型 -i 设为整型 -x 设为环境变量 -p 显示类型属性(property) [rootlocalhost ~]# a1 [rootlocalhost ~]# declare -p a declare -- a"1" [rootlocalhost ~]# export a [rootlocalhost ~]# declare -p …

如何水平居中一个元素

在项目中经常会遇到居中问题&#xff0c;这里借鉴度娘的众多答案&#xff0c;做一个总结&#xff1a; 一、元素的水平居中 1、行级元素的水平居中 <div style"width: 200px;height: 100px;border: 1px solid cyan; text-align: center;"><span>行级元素…

Yammer Metrics,一种监视应用程序的新方法

当您运行诸如Web应用程序之类的长期应用程序时&#xff0c;最好了解一些关于它们的统计信息&#xff0c;例如&#xff0c;服务的请求数&#xff0c;请求持续时间或活动请求数。 但是还有一些更通用的信息&#xff0c;例如内部集合的状态&#xff0c;代码的某些部分被执行了多少…

mysql教程目录_MySql目录(二)

MySql索引(二) 转自&#xff1a; http://www.cnblogs.com/dreamhome/archive/2013/04/16/3025304.html 所有MySQL列类型可以被索引。根据存储引擎定义每个表的最大索引数和最大索引长度。 所有存储引擎支持每个表至少16个索引&#xff0c;总索引长度至少为256字节。大多数存储引…

solr和Lucene的配置方式和应用

solr字段类型 类说明BinaryField二进制数据BoolField布尔值&#xff0c;其中’t’/’T’/’1’都是trueCollationFiled支持Unicode排序CurrencyField支持货币和汇率DateRangeFiled支持索引date rangeExternamFiledFiledpull磁盘上的文件EnumField支持定义枚举值ICUCollationFie…

PostgreSQL 9.6 keepalived主从部署

## 环境&#xff1a; PostgreSQL版&#xff1a;9.6 角色 OS IPmaster CentOS7   10.100.12.73 slave CentOS7 10.100.12.74 vIP 10.1…

CSS——清除浮动的六种解决方案

内容的高度撑起父元素容器的高度&#xff0c;效果图如下HTML和CSS代码如下给&#xff50;标签加上浮动以后&#xff0c;&#xff50;&#xff5b;float&#xff1a;left&#xff1b;&#xff5d;&#xff0c;此时DIV塌陷&#xff0c;两段内容同行显示&#xff0c;效果如下&…

40个Java Collections面试问答

Java Collections Framework是Java编程语言的基本方面。 这是Java面试问题的重要主题之一。 在这里&#xff0c;我列出了Java集合框架的一些重要问题和解答。 什么是Java Collections Framework&#xff1f; 列出Collections框架的一些好处&#xff1f; 集合框架中泛型的好处…

vs mysql iss_MySQL5.7与8.0的连接问题(vs2015\2017)

1.MySQL8.0 root密码忘记重置与5.7不同&#xff0c;绝大多数经验帖不适用8.0https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html8.0 重置密码的方式2.MySQL连接vs2015时报错提示&#xff1a;Authentication method ‘caching_sha2_password‘ not supported …

191. Number of 1 Bits

Write a function that takes an unsigned integer and returns the number of ’1 bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11 has binary representation 00000000000000000000000000001011, so the function should return 3. …

AtCoder Beginner Contest 084(AB)

A - New Year 题目链接&#xff1a;https://abc084.contest.atcoder.jp/tasks/abc084_a Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement How many hours do we have until New Year at M oclock (24-hour notation) on 30th, December? Cons…

打开就随机生长的树

今天接触了一个新东西&#xff0c;感觉很酷炫的样子。不是我写的&#xff0c;拿给大家看一看&#xff0c;喜欢的可以直接拿走不谢。树的形状和树枝多少都是随机的&#xff0c;每刷新一次就有一次的惊喜哦&#xff0c;无聊的亲们可以多刷几次&#xff0c;当动画来看哦。2017年又…

等待正确的时刻–集成测试

当您必须测试多线程程序时&#xff0c;总是需要等到系统达到特定状态后&#xff0c;测试才能验证是否达到了正确的状态。 这样做的通常方法是在系统中插入一个“探针”&#xff0c;该探针将向同步原语发出信号 &#xff08;例如Semaphore &#xff09;&#xff0c;并且测试将一…

网络编程---黏包

基于UDP协议的socket udp的server 不需要进行监听也不需要建立连接&#xff0c;在启动服务之后只能被动的等待客户端发送消息过来。 客户端发送消息的同时还会 自带地址信息&#xff0c;消息回复的时候 不仅需要发送消息 还需把对方的地址填上。 udp的client 不需要connect 因为…

CSS布局(二) 盒子模型属性

盒子模型的属性 宽高width/height 在CSS中&#xff0c;可以对任何块级元素设置显式高度。 如果指定高度大于显示内容所需高度&#xff0c;多余的高度会产生一个视觉效果&#xff0c;就好像有额外的内边距一样&#xff1b; 如果指定高度小于显示内容所需高度&#xff0c;取决于…

Extjs 下拉框

刚刚熟练了easyui控件的使用&#xff0c;又開始了如今的这个项目。这个项目是个半成品。前端使用的是Extjs控件&#xff0c;jsp中没有代码。就引用了非常多的js。。。于是乎有种不知所措了呀。。。 说实话特别的不想去看那些代码&#xff0c;第一是不熟悉&#xff0c;第二是太乱…

Java中的贷款模式(又名贷方承租人模式)

这篇文章是关于在Java中实现贷款模式的。 用例 在保存资源的代码与访问资源的代码之间实现分离&#xff0c;从而使访问代码无需管理资源。 当我们编写用于读取/写入文件或查询SQL / NOSQL数据库的代码时&#xff0c;上述用例适用。 在AOP的帮助下&#xff0c;肯定有API处理了此…

python亲密度_859. 亲密字符串(Python)

题目难度&#xff1a;★★☆☆☆类型&#xff1a;字符串给定两个由小写字母构成的字符串 A 和 B &#xff0c;只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果&#xff0c;就返回true &#xff1b;否则返回 false 。提示0 < A.length < 200000 < B.length &l…

开发电子商城1

1 从阿里云的镜像 下载centos 6.8 64位 https://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.iso 2&#xff1a;用vm安装 选定basic service版本 3&#xff1a;将Centos的yum源更换为国内的阿里云源 http://www.centoscn.com/image-text/config/20…

静态工厂方法与传统构造方法

之前&#xff0c;我已经讨论过一些关于Builder模式的信息 &#xff0c; Builder Pattern是一种有用的模式&#xff0c;用于实例化具有多个&#xff08;可能是可选的&#xff09;属性的类&#xff0c;这些属性可以使读取&#xff0c;编写和维护客户端代码更加容易&#xff0c;还…