我正在使用 python 3.9
我收到此错误:
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
Run Code Online (Sandbox Code Playgroud)
当我尝试这样做时:
import json
print(json.loads("['product', 'font', 'graphics', 'photo caption', 'brand', 'advertising', 'technology', 'text', 'graphic design', 'competition']"))
Run Code Online (Sandbox Code Playgroud)
但当我这样做时它工作得很好:
print(json.loads('["a", "b", "c"]'))
Run Code Online (Sandbox Code Playgroud)
看来错误与引号有关。但请问这是为什么呢?谢谢你!
简而言之,这就是 JSON 规范的工作原理。所有字符串都必须用双引号引起来,正如您从JSON 简介中间的图表中看到的那样。
ast.literal_eval()
但是,您可以使用而不是在 python 中解析该字符串json.loads()
。
import ast
print(ast.literal_eval("['product', 'font', 'graphics', 'photo caption', 'brand', 'advertising', 'technology', 'text', 'graphic design', 'competition']"))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7631 次 |
最近记录: |