json字符串大括号里的必须全部双引号

摘要:
python中,字典和json字符串互相转换,json中key和value必须是双引号一,字典中,key和value可以是单引号或者是双引号#一,字典转换为json字符串,字典中key和value可以是单引号或者是双引号,但是转换称json格式后,都是双引号dic={'a':1,'b':'haha'}st=json.dumpsprint#二,字典转换为json字符串dic={"a":1,"b":"haha"}st=json.dumpsprint打印结果{"a":1,"b":"haha"}{"a":1,"b":"haha"}二,json字符串中,大括号内必须全部是双引号,大括号最外层是单引号,否者json转换为字典对象,会报错!!!

python中,字典和json字符串互相转换,json中key和value必须是双引号

一,字典中,key和value可以是单引号或者是双引号

#一,字典转换为json字符串,字典中key和value可以是单引号或者是双引号,但是转换称json格式后,都是双引号
dic={'a':1,'b':'haha'}
st=json.dumps(dic)
print(st)

#二,字典转换为json字符串
dic={"a":1,"b":"haha"}
st=json.dumps(dic)
print(st)

打印结果

{"a": 1, "b": "haha"}
{"a": 1, "b": "haha"}

二,json字符串中,大括号内必须全部是双引号,大括号最外层是单引号,否者json转换为字典对象,会报错!!!

#三,非标准字符串转换字典,key和value是单引号,不是标准得json数据
st="{'a': 1, 'b': 'haha'}"
dic=json.loads(st)
print(dic)

报错:

  File "D:pythonlibjson\__init__.py", line 348, inloads
    return_default_decoder.decode(s)
  File "D:pythonlibjsondecoder.py", line 337, indecode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:pythonlibjsondecoder.py", line 353, inraw_decode
    obj, end =self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

再比如:

#三,非标准字符串转换字典
st=str({'a': 1, 'b': 'haha'})

dic=json.loads(st)
print(dic)

报错:

  File "D:pythonlibjson\__init__.py", line 348, inloads
    return_default_decoder.decode(s)
  File "D:pythonlibjsondecoder.py", line 337, indecode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:pythonlibjsondecoder.py", line 353, inraw_decode
    obj, end =self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

合法得json字符串,大括号内必须全部是双引号!!!!

# 标准得json格式,是双引号!!!,最外层是单引号!!!
st = '{"a": 1, "b": "haha","c":{"d":1}}'
print(st)
dic = json.loads(st)
print(dic)

输出:

{"a": 1, "b": "haha","c":{"d":1}}
{'a': 1, 'b': 'haha', 'c': {'d': 1}}

免责声明:文章转载自《json字符串大括号里的必须全部双引号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用树莓派玩转蓝牙【转】WM(WinCE)模拟器如何调试ddraw程序?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python__007内置函数

本文摘自:https://docs.python.org/3/library/functions.html?highlight=built#ascii            内置功能     abs() delattr() hash() memoryview() set() all() dict() help() min() s...

jmeter调用Python

1.下载插件 链接:https://pan.baidu.com/s/1yfr9qTYf396VXi5itLOKhQ 提取码:28j8 2.下载成功后放到jmeter相关目录下 3.来一段脚本试试  3.1 先设置一个自定义变量 3.2 编写脚本 import sysreload(sys)sys.setdefaultencoding('utf8') #...

如何把双引号包含到echo命令的字符串中

初涉s h e l l的用户常常会遇到的一个问题就是如何把双引号包含到e c h o命令的字符串中。引号是一个特殊字符,所以必须要使用反斜杠来使s h e l l忽略它的特殊含义。假设你希望使用e c h o命令输出这样的字符串:“/ d e v / r m t 0”,那么我们只要在引号前面加上反斜杠即可: $ echo ""/dev/rmt0"" 输出...

Python模块struct 数据格式转换

Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典。通过这六种数据类型,我们可以完成大部分工作。但当Python需要通过网络与其他的平台进行交互的时候,必须考虑到将这些数据类型与其他平台或语言之间的类型进行互相转换问题。打个比...

Shell字符串

1.字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。 双引号的优点: 双引号里可以有...

【Python】python实现16进制字符串转化为ascii字符

字符串456e633064316e675f31735f66336e,通过python,按照两个字符,例如45,6e,63形式变成ascii码格式,输出acsii码格式的字符串。 代码如下: a = "456e633064316e675f31735f66336e" ''.join([chr(int(b, 16)) for b in [a[i:i+2] fo...