相关疑难解决方法(0)

JSON中的单引号和双引号

我的代码:

import simplejson as json

s = "{'username':'dfdsfdsf'}" #1
#s = '{"username":"dfdsfdsf"}' #2
j = json.loads(s)
Run Code Online (Sandbox Code Playgroud)

#1 定义是错误的

#2 定义是对的

我听说在Python中单个双引号可以互换,有人能为我解释一下吗?

python json

92
推荐指数
6
解决办法
12万
查看次数

Python如何将单引号转换为双引号以格式化为JSON字符串

我有一个文件,在每一行上我都有这样的文字(代表电影的演员):

[{'cast_id': 23, 'character': "Roger 'Verbal' Kint", 'credit_id': '52fe4260c3a36847f8019af7', 'gender': 2, 'id': 1979, 'name': 'Kevin Spacey', 'order': 5, 'profile_path': '/x7wF050iuCASefLLG75s2uDPFUu.jpg'}, {'cast_id': 27, 'character': 'Edie's Finneran', 'credit_id': '52fe4260c3a36847f8019b07', 'gender': 1, 'id': 2179, 'name': 'Suzy Amis', 'order': 6, 'profile_path': '/b1pjkncyLuBtMUmqD1MztD2SG80.jpg'}]
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为有效的json字符串,从而仅将必要的单引号转换为双引号(例如,不得转换单词Verbal周围的单引号,也不应转换文本中最终的撇号)。

我正在使用python 3.x. 我需要找到一个仅将正确的单引号转换为双引号的正则表达式,从而使整个文本产生有效的json字符串。任何的想法?

python regex json double-quotes single-quotes

4
推荐指数
2
解决办法
5526
查看次数

为什么 json.loads 关心使用哪种类型的引号?

在 python 脚本中,我正在解析它的返回,
gsettings get org.gnome.system.proxy ignore-hosts
它看起来应该是正确格式化的JSON
['localhost', '127.0.0.0/8']
但是,当将此输出传递给json.loads 时,它会抛出
ValueError: No JSON object could be decoded

我通过以下方式调用 gsettings:

import subprocess
proc = subprocess.Popen(["gsettings", "get", "org.gnome.system.proxy", "ignore-hosts"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)  
stdout,stderr = proc.communicate()
Run Code Online (Sandbox Code Playgroud)

分配"['localhost', '127.0.0.0/8']\n"stdout. 然后我去掉换行符并传递给 json.loads:

ignore = json.loads(stdout.strip("\n"))
Run Code Online (Sandbox Code Playgroud)

但是,这会抛出一个ValueError.

我已将问题追溯到由单引号或双引号定义的字符串,如以下代码段所示:

# tested in python 2.7.3

import json

ignore_hosts_works = '["localhost", "127.0.0.0/8"]'
ignore_hosts_fails = "['localhost', '127.0.0.0/8']"

json.loads(ignore_hosts_works) # produces list of unicode strings
json.loads(ignore_hosts_fails) # ValueError: No JSON object …
Run Code Online (Sandbox Code Playgroud)

python string json python-2.7

1
推荐指数
1
解决办法
4547
查看次数

标签 统计

json ×3

python ×3

double-quotes ×1

python-2.7 ×1

regex ×1

single-quotes ×1

string ×1