码迷,mamicode.com
首页 > 编程语言 > 详细

python对json的操作总结(一)

时间:2018-05-28 21:47:31      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:数组   ash   而且   style   结束   hash   key   --   重复   

json

概念:json是一种轻量级数据交换格式。

如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。

格式:一个无序的‘名称’/‘值’集合。{名称1/值,名称2/值……}。

说明:你可能会想起这种格式在哪见过,没错。在python中字典也有着类似的可以key:value结构。但是不能混为一谈。

  • JSON 的 key 只能是字符串,Python 的 dict 可以是任何可 hash 对象
  • JSON 的 key 可以是有序的
  • JSON 的 key 可以重复
  • JSON 的值只能是字符串、浮点数、布尔值或者 null,或者它们所构成的数组或者对象。

编码--序列化:

  • dumps:把数据类型转换成字符串
  • dump:把数据类型转换成字符串并存储在文件中

解码--反序列化:

  • loads:把字符串转换成数据类型
  • load:把文件打开从数据类型转换成字符串

说明:在程序运行的过程中,所有的变量都是在内存中。一旦程序结束,变量也会消失。

   所以,我们把变量从内存中变成可存储或传输的过程称为序列化。反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化。

1、dumps:将字典转为字符串

In [100]: d=dict(name=xjm)

In [101]: a=json.dumps(d)

In [102]: a
Out[102]: {"name": "xjm"}

In [103]: type(a)
Out[103]: str

2、dump:写入json文件中

In [105]: with open(Desktop/j.txt,w) as f:
     ...:     a=json.dump(d,f)
     ...:     print(文件写入完成……)
     ...:
文件写入完成……

3、loads:读取json文件

In [114]: d=json.loads(a)

In [115]: d
Out[115]: {name: xjm}

 

4、load:在文件中读取json文件

In [120]: with open(j.txt,rb) as f:
     ...:     a=json.load(f)
     ...:

In [121]: a
Out[121]: {name: xjm}

python对json的操作总结(一)

标签:数组   ash   而且   style   结束   hash   key   --   重复   

原文地址:https://www.cnblogs.com/xjmlove/p/9102245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!