美文网首页
Python的JSON

Python的JSON

作者: skullfang | 来源:发表于2018-01-08 16:08 被阅读0次

    前言

    JSON是一个轻量级的数据交换格式。Python也可以很好的使用JSON,但是使用的逻辑与其他的语言有点差别。

    JSON实质

    JSON其实是一个单独的语言,跟javascript没有多大关系,并不是傍着javascript出现的。它的存在是为了跨语言交换数据!
    假设:世界上只有一种计算机语言。

    image.png

    所有人使用一种语言进行数据交互没有什么问题。

    假设:世界上只有两种语言。

    image.png

    人们设计一种数据转换规则就可以了。语言A与语言B就能进行数据交换。

    悲催的是。。。。。。

    人们发明了很多计算机语言。


    image.png

    如果每两个语言就要设置一个数据交换规则(五种语言就要疯)。
    于是 就诞生了中间语言,每个语言只要能把数据包装成这个中间语言就可以了!
    这个中间语言最好能够

    1、跨语言交流。
    2、易读。
    3、网络传输效率高。

    JSON符合所有条件!

    Python与JSON

    JSON是一个中间语言,进行数据传输,在Python中,JSON的载体是字符串。

    json_str='{"name":"qiyue","age":18}'  #JSON中字符串必须使用双引号
    

    因为JSON属于一个中间格式,所以也有自己的规则。Python中字符串可以用单引号也可以使用双引号。但是为了表达JSON字符串必须使用双引号。否则无法解析。

    注意:这里的JSON载体是字符串。所以上面的字符串其实就是一个JSON对象。

    反序列化

    那么我们怎么使用JSON呢,python中有一个类型与JSON可以完美契合,那就是字典!python也提供方法直接把JSON字符串直接转换为字典!

    import json
    json_str='{"name":"haha","age":18}' #必须使用双引号
    jsonDict=json.loads(json_str) #把jsonObject转换为python的dict
    print(type(jsonDict))
    print(jsonDict)
    
    <class 'dict'>
    {'name': 'haha', 'age': 18}
    

    使用跟字典一样使用即可

    print(jsonDict['name'])
    

    把JSON字符串转换为Python dict这就是一个典型的反序列化的过程!
    转换表

    序列化

    import json
    student=[
        {'name':'hengheng','age':18,'flag':False},
        {'name':'haha','age':18}
    ]
    
    json_str=json.dumps(student)
    print(type(json_str))
    print(json_str)
    

    结果为:

    <class 'str'>
    [{"age": 18, "flag": false, "name": "hengheng"}, {"age": 18, "name": "haha"}]
    

    相关文章

      网友评论

          本文标题:Python的JSON

          本文链接:https://www.haomeiwen.com/subject/stfjgxtx.html