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)

你可能感兴趣的:(Json,Python)