json数据的操作

json

json是网页后台与服务器交换数据的一种格式,由服务器发出请求,服务器返回json格式的数据,或者浏览器发送json格式的数据给服务器,服务器再返回json格式的数据。

Json本质就是一个字符串,算上符号也是字符串,需要使用方法转换成python可用的格式(列表,字典等)

python对象转换成json字符串
json.dumps():把一个Python对象编,码转换成Json字符串。

>>> import json
>>> python_obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)},True,False,None]
>>> json_str=json.dumps(python_obj)
>>> print json_str
[[1, 2, 3], 123, 123.123, "abc", {"key2": [4, 5, 6], "key1": [1, 2, 3]}, true, false, null]

在从python对象转换成json的过程中,数据会有一些改变:
在这里插入图片描述
json.dumps()方法提供了很多好用的参数可供选择,比较常用的有:

  • sort_keys(对dict对象进行排序,我们知道默认dict是无序存放的)
  • skipkeys(对于键不是基本类型Python字典键值对将被过滤)
  • indent(格式化输出用的)等参数。
>> python_obj2={"key2": [4, 5, 6], "key1": [1, 2, 3]}
>>> json_str2=json.dumps(python_obj2)
>>> print json_str2
{
  "key1": [
    1, 
    2, 
    3
  ], 
  "key2": [
    4, 
    5, 
    6
  ]
}
>>> json_str2=json.dumps(python_obj2,sort_keys=False,indent=2)
>>> print json_str2
{
  "key2": [
    4, 
    5, 
    6
  ], 
  "key1": [
    1, 
    2, 
    3
  ]
}

将python字符串转化成python对象
json.loads():把Json格式字符串解码,转换成Python对象。

>>> print json.loads(json_str)
[[1, 2, 3], 123, 123.123, u'abc', {u'key2': [4, 5, 6], u'key1': [1, 2, 3]}, True, False, None]

在转化过程中,数据会发生如下变化:
在这里插入图片描述

字符串与数据类型间的关系

在这里插入图片描述
requests.get()方法中也有直接对json操作的方法

a=request.get(url=url)
a.json()

json()方法可以直接将获取到的json数据变成可以操作的python对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值