在我的python脚本中,我想做一个rpc调用,它接受一个JSON数组作为参数。
rpc.command(JSONarray1, JSONarray2, 0, true)为了获得JSONarrays,我创建了以字典作为元素的列表。字典将字符串保存为键,将字符串或浮点数/整数保存为值。
mylist1 =
[
{
'tixid': 'c1636efe3d85e3bb7e58663cfa976590ed1a9bb6740e7b851cbb34ab63f52ab9',
'vout': 2,
'sequence': 4294967293
},
...,
]
mylist2 =
[
{
'bc1q0eg3madqa38t5usru66nvjzgqkdc7qz9n9qemw': 0.0001
},
...,
]当我将mylist传递给rpc调用时,我得到一个错误。“值不是预期的字符串”
问题是,python对mylist中的字符串使用了单引号。我知道,python并不关心字符串是使用单引号还是双引号,但我使用的rpc调用确实……
我试着使用json.dumps(mylist)。问题是json.dumps()返回一个rpc调用无法处理的字符串-需要JSON数组。对于进入文件并使用json.load()的json.dump()也是如此
我试过numpy.array(str_mylist)了。但rpc调用再次无法处理此数组-需要JSON数组。
有什么建议可以让我的python脚本对mylist中的字符串使用双引号吗?
发布于 2021-08-06 10:43:52
"value is not a string as expected“似乎指向'sequence‘、'out’和'in‘的非字符串值。如果您的rpc调用需要一个字符串,那么您可能需要将“sequence”、“out”和“in”的值设置为字符串,而不是整型或浮点型。例如'sequence':' 12949‘而不是'sequence':12949
发布于 2021-08-06 10:44:21
不确定它是否相关,但是在第一个对象中缺少键值对'out': 1之后的逗号,在第二个对象中缺少'out': 2,这本身就会导致json格式化程序崩溃。
发布于 2021-08-15 21:31:55
我可以缩小范围,在代码中找到导致错误的错误。我在mylist1中遇到了键入键值的错误。我使用的是"tixid“而不是"txid”。
我发现它有点混乱,错误是"value不是一个预期的字符串“。在这种情况下,我期望"key不是预期的字符串“。因为它是一个带有键:值对的字典。或者这在json数组中是不同的?
不管怎样,脚本现在正在运行。坦克为所有的输入和支持!
https://stackoverflow.com/questions/68680091
复制相似问题