Python入门(十二) Json模块的使用

    至于Json是什么,可以在网上搜一下就知道。

    现在的网络开发中,很多时候数据的传递都是采用Json格式。相比于XML,Json在传递同样的数据量的前提下,比XML减少大概30%的空间。先看一个最简单的Json格式的数据:

    {

"name":"billy",

"age":28

    }

    以上是一个最简单的描述一个人的信息。仔细看一下,会发现这跟Python中的dict很类似。如果用dict来表示:

billy = {"name":"billy", "age":28}
print(billy)

>>>
{'age': 28, 'name': 'billy'}

    在Python中,提供了json模块,可以很好的帮助我们完成以下功能:

1)把一个dict对象转化为对应的json格式的字符串,方便我们进行网络传输或者是保存到文件中;

2)如何把接收到的json格式的字符串转化为dict对象,方便我们的后续使用;

    1.解析json字符串为dict对象:

1)loads(str):把json字符串str加载为python对象

2)loads(f):把f对应的文件对象的数据加载为Python对象

import json

billy_str = '{"name":"billy", "age":28}'
billy = json.loads(billy_str, encoding="utf-8")
for (k,v) in billy.items():
    print(k, v)

>>>
name billy
age 28
#数组对象
lily= {"name":"lily", "age":30}
persons = [billy, lily]
persons_str = json.dumps(persons)
print(persons_str)

>>>
[{"age": 28, "name": "billy"}, {"age": 30, "name": "lily"}]

    2.把python对象转成json字符串

1)dumps(dict):把Python对象(如字典)转成json字符串

2)dump(dict, f):把Python对象转成json字符串并写入f文件对象中

json_str = json.dumps(billy)
print(type(json_str))
print(json_str)

>>>
<class 'str'>
{"age": 28, "name": "billy"}


你可能感兴趣的:(Python入门(十二) Json模块的使用)