Python到Json的转换

时间:2013-12-09 10:59:20

标签: python json

我有一个脚本,它将excel转换为json并拥有此代码。

l3 = dict( zip(l1.split(','), l2.split(',')) )
print l3

其中l1和l2是列表。

输出是这样的

{'brand': 'car', 'color': 'red', 'model': '2009', 'value': '100000'}

是否可以删除这些键的单引号。

3 个答案:

答案 0 :(得分:3)

使用json module从Python对象创建与JSON兼容的字符串:

>>> import json
>>> l3 = {'brand': 'car', 'color': 'red', 'model': '2009', 'value': '100000'}
>>> json.dumps(l3)
'{"model": "2009", "color": "red", "value": "100000", "brand": "car"}'

(或直接创建JSON文件):

>>> with open("test.json", "w") as j: json.dump(l3, j)

答案 1 :(得分:2)

如上所述,这不是一个有效的json。但是如果你坚持,可以用一些自定义类来完成它:

class NoQuoteReprString(str):
     def __repr__(self):
         return str(self)

演示:

>>> data = {'brand': 'car', 'color': 'red', 'model': '2009', 'value': '100000'}
>>> no_quote_data = {NoQuoteReprString(k): v for k, v in data.items()}
>>> repr(no_quote_data)
"{color: 'red', brand: 'car', model: '2009', value: '100000'}"

答案 2 :(得分:1)

虽然很容易从字符串中删除引号,但我认为你不应该这样做,因为JSON键应该有双引号。

我认为您应该根据您的要求进行JSON转换using json.dump or json.dumps