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)
复制代码

打印结果

1
2
{"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:\python\lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "D:\python\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:\python\lib\json\decoder.py", line 353, in raw_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:\python\lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "D:\python\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:\python\lib\json\decoder.py", line 353, in raw_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}}

 

posted @   年轻人——001  阅读(2878)  评论(1编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示