2015-10-11 65 views
3

我知道这个问题听起来很天真,但我坚持使用它。我正在使用jquery自动完成,事实证明它需要[“data1”,“data2”]列表形式。Python str()双引号字符串

我从一个JSON文件中获取数据,并

data = json.load(fobj)['content'] 
data = [str(data[d]['name']) for d in data.keys()] 

[“一些文本”,“其他一些” ....]

,但我特别希望在列表中的双引号的字符串。我已经尝试过repr(str(data)),但是它给出了''一些文本'',然后''一些文本''。strip(“'”),但是这又返回一个单引号字符串。

为了完成工作我做

data = [str(data[d]['name'] + "'") for d in data.keys()] 

后来过程中的“'”在字符串的结尾,但这是不正确的做法。

有什么办法用,我可以迫使STR()返回双引号的字符串像STR(数据,报价=“”“)。

+1

感谢您为电子商务dit建议。我几个月前没有发帖,我忘记了格式化规则。 –

回答

3

jQuery的,这就意味着JavaScript。JavaScript的字面意思JSON,只需重新。编码

>>> json.dumps(['foo', '''bar''']) 
'["foo", "bar"]' 
+0

哦!我在这一个上浪费了30多分钟。谢谢 –

1

在Python单引号或双引号的字符串是相同的,例如:

a = 'some text' 
b = "some text" 

原因都在Python有是因为你可能有:

a2 = 'He said: "Hello!"' 
b2 = "It's OK!" 

三重引号也使用这样的:

a3 = """some text""" 
b3 = '''some text''' 

如果你正在尝试做的是什么地方打印(在文件中)双引号的字符串列表,你可以做这样的:

lst = ['text 1', 'text 2'] 
print "[%s]" % ", ".join(map(lambda e: '"%s"' % e, lst)) 

输出:

["text 1", "text 2"]