2017-03-01 65 views
0

这里定义一个变量:Python的输出JSON风格的字符串

sms_param = '{\"website\":\"hello\"}' 

,并确定打印出这样的:{"website":"hello"},但我想一个动态值传递给它的价值,所以它的格式应该是这样的: {\"website\":\"{0}\"}.format(msg),但它输出一个KeyError,我不知道这个错误,并改变各种字符串格式,如三重报价和{0}%s,但都似乎没用。我该如何解决它。

+5

删除字符串处理做的,用[正确的json库](https://docs.python.org/3/library/json.html)。 'json.dumps()'是你的朋友。 – 9000

+0

这些反斜杠有什么意义?你不需要它们。 –

+1

如果要使用'format',则必须使用大括号:'{{“website”:“{0}”}}'。格式(msg)' –

回答

0

我的建议是使用json.loads()

>>> sms_param = '{\"website\":\"hello\"}' 
>>> import json 
>>> json.loads(sms_param) 
{'website': 'hello'} 

什么,你可以使用json.loads()转换JSON字符串字典,然后改变其价值,最终将其转换回字符串