json字符串和字典的区别

json字符串和字典的区别:
json:
(JavaScript Object Notation)的首字母缩写,字面的意思是(javascript对象表示法),这里说的json指的是类似于javascript对象的一种数据格式对象,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式, 前端使用ajax的时候后台返回该前端的数据格式就是json格式的。

字典是一种数据结构,而json是一种数据格式,
格式就会有一些形式上的限制,比如json的格式要求必须且只能使用双引号作为key或者值的边界符号(值如果是数字可以不用加双引号),不能使用单引号,用单引号或者不用引号会导致读取数据错误,而且“key”必须使用边界符(双引号),但字典就无所谓了,可以使用单引号,也可以使用双引号。

总结:
json的特点
1. 字符串外边有单引号
2. json是类字典的形式,里面的键-值对规定必须使用双引号,值如果是数字可以不加双引号,
但是键必须是双引号引起来的字符串, json的值可以是普通变量,数组,json对象

缺点:
json只有null、布尔、数字、字符串、数组和对象这几种数据类型,JSON没有日期类型

####################################
users = {
    "admin": {
        'username': 'admin',
        "password": 123,
        "nickname": "老王"
    }
}
import json
以下两个函数用于json数据类型的转换
json.dumps()   字典 -> json
json.loads()   json ->  字典
以下两个函数用于json数据类型转换的同时操作文件
json.dump()
json.load()


# 1. 数据类型的转换
# 其他类型转换为json字符串
json_str = json.dumps(users)
print(json_str, type(json_str))

# 读取json字符串,还原为原来的数据类型
json_obj = json.loads(json_str)
print(json_obj, type(json_obj))
#
# # 2. 类型转换的同时操作文件
# json.dump(users, open("d2.txt", "w"))
#
# data = json.load(open("d2.txt"))
# print(data)

猜你喜欢

转载自blog.csdn.net/qq_40994972/article/details/84189430