在Python中的JSON字符串中添加变量值
我很困惑为什么这不起作用。我正在尝试在JSON中添加变量值,每次添加它时,它在JSON字符串中均无法正确显示。
hostname = "machineA.host.com"
我需要将以上主机名信息添加到以下JSON文档中-
b"{\"Machine Name\":\"\"+hostname+\"\"}", None, True)
但是每当我以上述方式添加它时,它就根本不起作用。
不知道我在这里做什么错?
回答:
您正在转义"
字符串中的内部双引号。它应该是:
b"{\"Machine Name\":\""+hostname+"\"}", None, True)
在python中,您还可以'
对字符串使用单引号-并且不需要在单引号字符串内转义双引号
b'{"Machine Name":"'+hostname+'"}', None, True)
不过,有两种更好的方法可以做到这一点。第一种是字符串格式,它将变量插入到字符串中:
b'{"Machine Name":"%s"}' % hostname # python 2.x (old way)b'{{"Machine Name":"{0}"}}'.format(hostname) # python >= 2.6 (new way - note the double braces at the ends)
接下来是Python JSON模块,方法是将python
dict
转换为JSON字符串
>>> hostname = "machineA.host.com">>> data = {'Machine Name': hostname}
>>> json.dumps(data)
'{"Machine Name": "machineA.host.com"}'
这可能是首选方法,因为它将处理主机名和其他字段中的怪异字符,以确保末尾具有有效的JSON。
您是否有理由使用 bytestring
以上是 在Python中的JSON字符串中添加变量值 的全部内容, 来源链接: utcz.com/qa/430468.html