python - json.loads() 返回一个字符串
问题描述
为什么 json.loads() 返回一个字符串?这是我的代码:
import json
d = """{
"reference": "123432",
"business_date": "2019-06-18",
"final_price": 40,
"products": [
{
"quantity": 4,
"original_price": 10,
"final_price": 40,
}
]
}"""
j = json.loads(json.dumps(d))
print(type(j))
输出:
<class 'str'>
它不应该返回一个json对象吗?这里需要什么改变?
解决方案
两点:
- 您的
products
密钥中有错字:"final_price": 40,
应该是"final_price": 40
(不带逗号) j
应该json.loads(d)
输出
听写
编辑
这篇文章解释了为什么在 json 对象中不能有尾随逗号的原因你可以在 JSON 对象中使用尾随逗号吗?
不幸的是,JSON 规范不允许尾随逗号。有一些浏览器允许它,但通常您需要担心所有浏览器。
推荐阅读
- reporting-services - SSRS - 更改 x 轴以同时显示日期和小时数 - 问题
- hibernate - Grails 域映射到不需要的 _IDX 列
- python - 过滤中间模型并使用它来修改模型的查询集
- php - Laravel Voyager 属于多个关系显示“未找到结果”
- ios - 使用平移手势选择多个 tableview 单元格
- docker - Keycloak 在 Docker 中引发 SSL 连接错误
- typescript - 从 .jar 文件夹添加主类
- javascript - 我如何只调用一次函数,任何进一步的调用都返回第一次调用的最后一个值?
- javascript - 在javascript中没有发生多次下降到同一位置
- swift - 斯威夫特字典问题“字符串?” 不能转换为“字符串”;你的意思是用'as!' 强迫沮丧?