我正在尝试附加JSON对象以形成JSON对象列表。
def GenIndentifier(options):
data=json.dumps([identifier,hex_dig])
return data
此处的数据是一个有效的JSON对象,如下所示:
["27780741708467800000001", "e5073922dbb7a278769d52277d49c6ad3017b1ba"]
之后,我遍历GenIdentifier函数以生成许多JSON对象:
data=[]
for i in range(0,2,1):
...
data.append(GenIndentifier(options))
print data
现在JSON数据列表不是有效的JSON格式,因为弹出了一些单引号:
['["27780741708467800000000",
"f798d2cd9aec1b98fb48b34fd249fe19c06a4a1d"]',
'["27780741708467800000001",
"e5073922dbb7a278769d52277d49c6ad3017b1ba"]']
知道如何解决这个问题吗? 我搜索并用谷歌搜索但是徒劳无功。
答案 0 :(得分:2)
麻烦的是您将数据转储到GenIndentifier中的JSON,然后将该JSON字符串附加到列表中。
相反,您应该将JSON转换移出该函数,并在最后执行:
def GenIndentifier(options):
data = [identifier, hex_dig]
return data
data = []
for i in range(0, 2, 1):
...
data.append(GenIndentifier(options))
data = json.dumps(data)
print data
答案 1 :(得分:0)
当您调用json.dumps()
时,它会将对象(在本例中为2个元素的列表)转换为JSON格式的字符串。然后,您将获取该字符串列表,并将它们附加到列表中。
如果您要查找的是单个JSON格式的列表列表,您可能希望避免在json.dumps()
对象中执行GenIdentifier
,只需从该函数返回一个列表。然后在最后,您执行print data
,而不是print json.dumps(data)
def GenIndentifier(options):
data=[identifier,hex_dig]
return data
data=[]
for i in range(0,2,1):
...
data.append(GenIndentifier(options))
data = json.dumps(data)
print data
这将产生以下结果:
[["27780741708467800000000", "f798d2cd9aec1b98fb48b34fd249fe19c06a4a1d"],
["27780741708467800000001", "e5073922dbb7a278769d52277d49c6ad3017b1ba"]]
答案 2 :(得分:-2)
这有用吗?
data=[]
for i in range(0,2,1):
...
data.append(GenIndentifier(options)[i])
print data