JSON数据处理


JSON是一种数据交换格式,JSON数据是数据传输最常用的格式之一。优点:结构清晰,易于阅读且方便解析。

JSON格式的数据打开后 很像Python的字典:由冒号(:)组成键值对,各键值对有逗号(,)隔开,首尾用花括号包围。

1.JSON的数据类型:数值、字符/字符串、布尔、对象、null、数组。
复合数据类型对象的数据结构可以被解构为原始数据类型。即便是对那些不支持对象数据类型的语言来说,这一数据结构被解构为那些原生的类型就很好处理

1.1JSON中的对象数据类型
JSON 本身就是对象,也就是一个被花括号包裹的名称 - 值对的列表
嵌套对象:
{
  "person":{
      "name":"lily",
      "height":66,
      "head":{
          "hair":{
             "color":"light blond",
             "length":"short"
              },
          "eye":"green"
         }
      }
}

1.2.JSON中的字符串类型
只允许使用双引号来包裹字符串,当值的内容包含双引号时需要使用反斜杠\ 转义必须是双引号

1.3.JSON中的数字类型
JSON 中的数字可以是整数、小数、负数或者指数 不需要有引号

1.4.JSON中的布尔类型
JSON 中,该字面值仅使用小写形式:true 或 false,也不允许有引号

1.5.JSON中的null类型
null表示空,也允许有引号

1.6.JSON中的数组类型
数组,也不允许有引号

2.JSON模块主要有4个函数:

1. json.jumps()   将python对象编码成Json格式的字符串,入参是字符串
实例:json.dumps()使用
import json
dict1 = {"age":"13"} # 字典
json_str = json.dumps(dict1) # json格式的字符串


2. json.loads()    将json格式的字符串解码成python对象-字典,入参是字符串
实例:json.loads()使用
import json
json_info = “{\"age\":13}"     # json格式的字符串'{"age":13}'
dict1 = json.loads(json_info)    # 字典

3. json.jump()    将json格式的字符串存储到json文件中,入参是第一个字符,第二个是文件名
实例:json.dump()使用
import json
json_info = '{"age":"12"}'
file = open("1.json",'w',encoding='utf-8')
json.dump(json_info,file)

4. json.load()    将文件中的json格式字符串转化成python对象提取出来,入参文件句柄
实例
import json
file = open('1.json','r',encoding='utf-8')
info = json.load(file)    #是一个字典组成的列表