Python dict 和 string 和 json字符串的区别

转载:  https://cloud.tencent.com/developer/article/1395008

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

 

 json的特点

  1. 字符串外边有单引号

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

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

代码理解:

a = '{"action": "list_customer", "pagesize": 5, "pagenum": 1, "keywords": "人民医院"}'

print(f'a的数据类型是{type(a)}')
print(a)

b = "{'action': 'list_customer', 'pagesize': 5, 'pagenum': 1, 'keywords': '人民医院'}"

print(f'b的数据类型是{type(b)}')
print(b)

c = {'action': 'list_customer', 'pagesize': 5, 'pagenum': 1, 'keywords': '人民医院'}

print(f'c的数据类型是{type(c)}')
print(c)

d = {"action": "list_customer", "pagesize": 5, "pagenum": 1, "keywords": "人民医院"}

print(f'd的数据类型是{type(d)}')
print(d)

结果如下:

a的数据类型是<class 'str'>
{"action": "list_customer", "pagesize": 5, "pagenum": 1, "keywords": "人民医院"}
b的数据类型是<class 'str'>
{'action': 'list_customer', 'pagesize': 5, 'pagenum': 1, 'keywords': '人民医院'}
c的数据类型是<class 'dict'>
{'action': 'list_customer', 'pagesize': 5, 'pagenum': 1, 'keywords': '人民医院'}
d的数据类型是<class 'dict'>
{'action': 'list_customer', 'pagesize': 5, 'pagenum': 1, 'keywords': '人民医院'}


注意 : 
1 . a,b 虽然都是字符串类型,但是只有 a 是json格式字符串,因为json格式字符串要求最外面是单引号,里面键值要求为双引号,值为数字时,可以不加双引号. 
2 . 控制台输出的是json格式的才是json字符串.

 

转载:  https://cloud.tencent.com/developer/article/1395008

posted @ 2021-07-03 12:33  Avicii_2018  阅读(500)  评论(0)    收藏  举报