json,pickle模块

话说json呢,是一个字符串!其构造简洁,且结构化程度非常高,是一种轻量级的数据交换格式,其即独立于语言、又独立于平台。简而言之,JSON即牛逼又伟大!

一、为什么要用json库?

json,pickle模块_第1张图片
在我们的日常工作中经常需要对其处理,一般而言,我们会把json转化为python中的字典或者列表,再对其进行操作。有两种数据源都是Json数据。

  • 第三方数据源提供的json数据源

  • 爬取回来的json形式的网站数据

字典与json,你会傻傻分不清楚吗?
  • 字典中字符串使用单引号,JSON强制为双引号(这一点千万注意,json中是不能有单引号的!)

  • JSON的Key只能是字符串,而python中的字典可以是任何可Hash的对象。

二、json库的常用方法

两种:

  • json.loads ()方法

  • json.dumps ()方法

2.1、json.loads ()方法解码 JSON 数据

json.loads ()方法用于解码 JSON 数据,该方法返回 Python 字段的数据类型。

#定义一个json数据
office_worker = '''
[{
    "name": "jack",
    "gender": "male",
    "birthday": "1966-06-66",
	"company": "Alibaba"
}, {
     "name": "rose",
    "gender": "female",
    "birthday": "1988-08-88",
	"company": "Alibaba"
}]
'''
print(type(office_worker))
# json.loads解码JSON对象
data = json.loads(office_worker)
print(type(office_worker))
# 然后,我们深入一步,如何读取list数据呢?
# 方法1:用索引来获取数据
data[0]['name']
# 方法2:用索引+get()方法获取数据
data[0].get('name')

2.2、json.dumps ()方法将 Python 对象编码成 JSON 字符串

#定义一个列表
mygirlfriend = [
  { 'id': "001", "name": "ROSE", "age": 18, "hometown": "beijing" },
  { 'id': "002", "name": "ANGELA", "age": 22, "hometown": "SHENZHEN" },
  { 'id': "003", "name": "JOSIE", "age": 24 , "hometown": "SHENZHEN"},
  { 'id': "004", "name": "CINDY", "age": 26, "hometown": "SHENZHEN" },
  { 'id': "005", "name": "SUNNT", "age": 36 , "hometown": "NEWYORK"}
]
# 将mygirlfriend 列表编码成 JSON 字符串
x=json.dumps(mygirlfriend, sort_keys=True, indent=4, separators=(',', ': '))
print(x)

json,pickle模块_第2张图片

你可能感兴趣的:(Python)