python常用模块:json

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

1、json简介

    Json,全名JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式,现在也常用于http请求中,所以json的各种学习,是自然而然的事情。python的json官网网址:https://docs.python.org/2/library/json.html?highlight=json#module-json。

2、json数据类型

数据类型

含义

number

和JavaScript的number完全一致

boolean

就是JavaScript的true或false

string

就是JavaScript的string

null

就是JavaScript的null

array

就是JavaScript的Array表示方式—[]

object

就是JavaScript的{…}表示方式

      JSON还定义了字符集必须是UTF-8,表示多语言就没有问题 ,为了统一解析,JSON的字符串规定必须用双引号"",Object的键也必须用双引号""。

3、编解码函数

  json.dumps():对数据(字符串)进行编码

     json.dump():对数据(文件对象)进行编码

     json.loads():对数据(字符串)进行解码

     json.load():对数据(文件对象)进行解码

4、python原始类型与json类型互相转换

     Python编码为JSON类型转换对应表:

Python

JSON

dict

object

list、tuple

array

str

string

int、float、int-&float-derived Enums

number

True

true

False

false

None

null

     JSON编码为Python类型转换对应表:

JSON

Python

object

dict

array

list

string

str

number(int)

int

number(real)

float

true

True

false

False

null

None

4、json实例

import json

# Python 字典类型转换为 JSON 对象
data = {
    'no' : 1,
    'name' : 'Runoob',
    'url' : 'http://www.runoob.com'
}

json_str = json.dumps(data)
print ("Python 原始数据:", repr(data))
print ("JSON 对象:", json_str)


# 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str)
print ("data2['name']: ", data2['name'])
print ("data2['url']: ", data2['url'])
print(data2)

    如果你要处理的是文件而不是字符串,你可以使用json.dump()和json.load()来编码和解码JSON数据。示例如下:

#写入JSON数据
with open('data.json', 'w') as f:
    json.dump(data, f)

# 读取数据
with open('data.json', 'r') as f:
    data = json.load(f)


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值