21天Python学习计划——JSON

 ​

活动地址:CSDN21天学习挑战赛

一、JSON是什么?

JSON(JavaScript Object Notation ,对象表示法), 是一种轻量级的文本数据交换格式。

二、特点:

json 独立于语言
json 具有自我描述性,更容易理解
json 比 xml 更小,更快,更易解析
爬虫检查会获取接口数据,接口数据就是 json 格式

三、JSON格式:

JSON的数据格式其实就是python里面的字典格式,即大括号内存在键和值。

其中可以包含方括号括起来的数组,也就是python里面的列表。

例1:

{
    "name": "小明", 
    "age": 18
}

例2:

{
    "student":
        [
            {"name": "小明", "age": 11},
            {"name": "小红","age": 10}
        ],
    "classroom": {"class1": "room1", "class2": "room2"}
}

四、数据转换

   json.dumps()的使用

>>> import json

# Python字典
>>> person = {"name": "小明", "age": 30, "tel": ["888888", "1351111111"], "isonly": True}
>>> print(person)
{'name': '小明', 'age': 30, 'tel': ['888888', '1351111111'], 'isonly': True}
>>> type(person)
<class 'dict'

# Python字典转换为json字符串
>>> jsonStr = json.dumps(person) 
>>> print(jsonStr )
{"name": "\u5c0f\u660e", "age": 30, "tel": ["888888", "1351111111"], "isonly": true}
>>> type(jsonStr)
<class 'str'>

 json.dump()的使用

import json

person = {"name": "小明", "age": 30, "tel": ["888888", "1351111111"], "isonly": True}
json.dump(person,open('data.json','w'),indent=4)

dump() 写入文件可以直接在里面添加参数即可写入。
相比于 dumps() 要把json 字串写入文件的话, 需要使用.write()方法写入。如 f.write(‘data.json’,‘w’)

   json.dumps()的使用

json格式的字符串转换为python的类型。

>>> import json

# Python字典
>>> person = {"name": "小明", "age": 30, "tel": ["888888", "1351111111"], "isonly": True}
>>> print(person)
{'name': '小明', 'age': 30, 'tel': ['888888', '1351111111'], 'isonly': True}
>>> type(person)
<class 'dict'

# Python字典转换为json字符串
>>> jsonStr = json.dumps(person) 
>>> print(jsonStr )
{"name": "\u5c0f\u660e", "age": 30, "tel": ["888888", "1351111111"], "isonly": true}
>>> type(jsonStr)
<class 'str'>

   json.load() 的使用

loads() 传的是json字符串,而 load() 传的是文件对象
使用 loads() 时需要先读取文件在使用,如读取操作 f.read(),而 load() 则不用

import json

python_obj = json.load(open('data.json','r'))
print(python_obj)
print(type(python_obj))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值