23. 23. Python Json转换-阿里云开发者社区

开发者社区> 科技小能手> 正文

23. 23. Python Json转换

简介:
+关注继续查看

JSON ==> Javascript Object Notation

AJAX 就是一种 key:value 的形式

json有四种方法:

    json.loads

    json.dumps

理解:加s的是用来处理字符串的

    json.load

    json.dump

理解:不加s的是用来处理文件的


    load 或者 loads  

意思:把json转换成其他对象,字符串或者文件相关的。


    dump 或者 dumps 

意思:把其他对象或者格式,转换成json格式

1.字符串和json之间的转换

举例1:把python字典的格式转换成json字符串格式

1
2
3
4
5
6
7
8
9
10
11
>>> a = dict(name='linan',age='22',message='yes')
>>> print a
{'message''yes''age''22''name''linan'}
>>> print type(a)
<type 'dict'>
>>> import json
>>> b=json.dumps(a)
>>> print b
{"message""yes""age""22""name""linan"}
>>> print type(b)
<type 'str'>

print a 和 print b 虽然一样,但是格式已经改变


https://www.json.cn/ 这个网站支持json解析


举例2:将字符串转换成字典

1
2
3
4
5
>>> c = json.loads(b)
>>> print c
{u'message': u'yes', u'age': u'22', u'name': u'linan'}
>>> print type(c)
<type 'dict'>


2.文件和json之间的转换

load  肯定是从文件中搞出来json数据,转换成json数据

dump  就是把json数据写入到文件中


将字符串转换成json格式写入到文件中

1
2
3
4
import json
jsonData='''{"a":1,"b":2,"c":3,"d":4,"e":5}'''    ##字符串文件内写成三引号或者单引号
with open('a.txt' ,'w') as f:
    json.dump(jsonData, f)

结果

a.txt 文件内容如下:

"{\"a\":1,\"b\":2,\"c\":3,\"d\":4,\"e\":5}"

所以,json.dump()可以将json数据直接写入到文件中。


将json格式的文件内容转换成字符串

1
2
3
4
with open('a.txt' ,'r') as fr:    
    = json.load(fr)
    print (m)
    print (type(m))

结果

{"a":1,"b":2,"c":3,"d":4,"e":5}

<type 'unicode'>

所以,json.load()吧文件内容转换成unicode数据类型返回



本文转自 听丶飞鸟说 51CTO博客,原文链接:http://blog.51cto.com/286577399/1981382

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
4068 0
json中引号转换
惯例: 我是温浩然: 今天遇到了这样一个问题,首先,我是这样写的 var driver = []; $("input[rw='driver']",$('#editCardModalprint')).each(function () { driver.push('{"driver":"'+$(this).val()+'"}');//driver });想要
1591 0
为什么Spring MVC能自动转换json/xml,你研究过它背后的原理吗?
SpringMVC是目前主流的Web MVC框架之一。本文使用的demo基于maven,是根据入门blog的例子继续写下去的。
752 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4488 0
【Python】转换mysql 结果集为词典类型
Python的MySQLdb模块是Python连接MySQL的一个模块, 使用MySQLdb 模块获取mysql中的记录,默认查询结果返回是tuple类型,只能通过0,1等索引下标访问数据。
580 0
python 预测目标(y)的转换
标签二值化 >>> from sklearn import preprocessing >>> lb = preprocessing.LabelBinarizer() >>> lb.
623 0
14426
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载