Python与JSON

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:15   1727   0

JSON是JavaScript Object Notation的简写,即JavaScript对象标记。

JSON是一种轻量级的数据交换格式。

字符串是JSON的表现形式。

JSON字符串:符合JSON格式的字符串。如:{"name": "qiyue"}

JSON字符串中的key需要加双引号。

JSON的优势:

  • 易于阅读
  • 易于解析
  • 网络传输效率高(轻量、简洁)
  • 非常适合做跨语言交换数据

反序列化

反序列化:由字符串到某一种语言的数据结构的解析过程。

json字符串(json object)对应到python中是字典形式。

方法:json.loads()

示例:

import json
json_str='{"name":"qiyue","age":18}'
student=json.loads(json_str)
print(type(student))
print(student)

#执行结果
> python p5.py
<class 'dict'>
{'name': 'qiyue', 'age': 18}

loads()函数主要功能:将json的数据类型转换为python的数据类型。

示例(json数组格式转换为python中的list数据结构):

import json
json_str2='[{"name":"qiyue","age":18,"flag":false},{"name":"妲己","age":17}]' #有两个object的数组
student=json.loads(json_str2)
print(type(student))
print(student)

#执行结果
> python p5.py
<class 'list'>
[{'name': 'qiyue', 'age': 18, 'flag': False}, {'name': '妲己', 'age': 17}]

JSON和Python中的数据格式对应

序列化

序列化:python的数据类型向JSON字符串转换的过程。

方法:json.dumps()

import json
student=[
          {'name': 'qiyue', 'age': 18, 'flag': False}, 
          {'name': '妲己', 'age': 17}
        ]
json_str=json.dumps(student)
print(type(json_str))
print(json_str)

#执行结果
> python p4.py
<class 'str'>
[{"name": "qiyue", "age": 18, "flag": false}, {"name": "\u59b2\u5df1", "age": 17}]
#中文输出的是unicode编码的结果

Tips:

JSON对象:如果放在javascript里面说,json对象这个说法是成立的;如果跳出语言范畴,没有json对象这个说法。

JSON并不是Javascript的附属。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP