【每日一练】什么是json以及如何使用

"""
本节课程内容 json
1.什么是json
2.掌握如何使用json进行数据转化
 .json是一种轻量级的数据交互格式,可以按照json指定的格式去组织和封装数据
 .json本质上是一个带有特定格式的字符串
json的主要功能:
 .json就是一个在各个编程语言中流通的数据格式,负责在不同编程语言中进行数据传递和交互
 .类似:国际通用语言--英语,中国不同名族不同地区通用语言--普通话
json格式数据转化:
  #可以是这样
 .{"name":"json":"age":18}
  #也可以是这样
 .[{"name":"json":"age":18}],{"name":"张三":"age":20}]
  其实json就是一个字典,或者嵌套字典的列表,所以关于json来说,python还是有优势,可以无缝衔接json数据格式
"""

#-----json和python数据的相互转换演示

#json是一个模块,所以使用必须先导入
import json
#准备符合json格式要求的python数据(列表,字典都可以)这里以列表为例:
date=[{"name":"张三"},{"name":"李四"},{"age":30}]
print("当前类型是:",type(date))  #结果:当前类型是: <class 'list'>

#通过json.dumps()方法把python数据转为json数据
json_str=json.dumps(date)
print("json转换后类型是:",type(json_str)) #结果:json转换后类型是: <class 'str'>
print(json_str)    #结果:[{"name": "\u5f20\u4e09"}, {"name": "\u674e\u56db"}, {"age": 30}]

#这时候它的字符串类型的值会出现一串代码,这是因为中文转换设计到编码问题。解决办法是在传入参数后面再传入一个参数
#提示:如果里面没有中文就不用加,ensure_ascii=False这个参数
json_str=json.dumps(date,ensure_ascii=False)  #值为False,意思是不用ASCII转换它,直接输出内容
print(json_str)   #结果:[{"name": "张三"}, {"name": "李四"}, {"age": 30}]


#准备符合python格式要求的json数据类型
s='[{"name": "张三"}, {"name": "李四"}, {"age": 30}]'
print("当前类型:",type(s))  #结果:当前类型: <class 'str'>

d='{"name": "张三","name": "李四","age": 30}'
print("当前类型:",type(d))  #结果:当前类型: <class 'str'>

#通过json.loads()方法把json数据转为python数据
py_l=json.loads(s)
print(type(py_l))  #结果:<class 'dict'>
py_d=json.loads(d)
print(type(py_d))  #结果:<class 'dict'>

#感觉上json和python的字典列表没什么区别,但是不转为字典或列表的话就只是一个字符串,对其元素无法进行相应的处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值