Python json文件常用操作

       Json 即 JavaScript Object Notation, 是一种常用的轻量级的文本数据交换格式, json数据格式简单, 易于读写。

1、Json基本语法规则

        Json中有两种常用的数据结构, 对象、数组。其中:

        对象是由 "{}" 保存的无序的名称/值对集合, 名称与值之间用 ":", 名称/值对之间用 "," 分隔,如     { "name" : "school", "url" : "www.baidu.com" },

        数组是由 "[]" 保存的值有序集合, 值与值之间用 "," 分隔,如[ "site1": "baidu", "site2" : "music", "www" ],

        json数组中的值可以是字符串(string)、数值(number)、true、false、 null、 对象(object)或者数组(array)以及它们的嵌套。

        json文件有以下几点规范:

        1) 数据保存在 "名称/值" 的键值对中;

        2) 数据之间用 "," 分隔, 数组或者对象(字典)的最后一个成员后不能加",";

        3) "\" 表示转义字符,用 "{}" 表示对象,用 "[]" 表示数组。

2、Python中json文件的四种常用操作

        1) json.dump() : 将Python对象序列化为json格式的数据流并写入文件类型的对象中

import json

dic = {
        "student" : 
        [
            {"name" : "xlh",

            "time" : "09:04"}
        ]
    }
with open('./dic.json', mode='w', encoding='utf-8') as f:
    json.dump(dic, f)

        2) json.dumps() : 将Python对象序列化为json格式的字符串

import json

dic = {
        "student" : 
        [
            {"name" : "xlh",

            "time" : "09:04"}
        ]
    }
data = json.dumps(dic)

print("转换为json前的数据类型为:\n{} \n转换之后数据类型为: {}".format(type(dic), type(data)))

>>>
 

        3) json.load() : 从josn文件对象中读取json格式的数据并反序列化成Python对象

import json

with open('./dic.json', encoding='utf-8') as f:
    data = json.load(f)
    print("读取json文件数据为:\n{}\n数据类型为: {}".format(data, type(data)))

>>>
读取json文件数据为:
{'student': [{'name': 'xlh', 'time': '09:04'}]} 

数据类型为: 

        4) json.loads() 将包含json格式数据的字符串反序列化成Python对象

import json

s = '{"name": "cdbe", "data": 10, "des": "json"}'
data = json.loads(s)
print("读取json字符串:\n{}\n数据类型为: {}".format(data, type(data)))

>>>
读取json字符串:
{'name': 'cdbe', 'data': 10, 'des': 'json'} 

数据类型为: 

你可能感兴趣的:(python,json)