首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从带有字典的列表中获取JSON对象(单引号到双引号)

如何从带有字典的列表中获取JSON对象(单引号到双引号)
EN

Stack Overflow用户
提问于 2021-08-06 10:27:26
回答 3查看 75关注 0票数 1

在我的python脚本中,我想做一个rpc调用,它接受一个JSON数组作为参数。

代码语言:javascript
复制
rpc.command(JSONarray1, JSONarray2, 0, true)

为了获得JSONarrays,我创建了以字典作为元素的列表。字典将字符串保存为键,将字符串或浮点数/整数保存为值。

代码语言:javascript
复制
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中的字符串使用双引号吗?

EN

回答 3

Stack Overflow用户

发布于 2021-08-06 10:43:52

"value is not a string as expected“似乎指向'sequence‘、'out’和'in‘的非字符串值。如果您的rpc调用需要一个字符串,那么您可能需要将“sequence”、“out”和“in”的值设置为字符串,而不是整型或浮点型。例如'sequence':' 12949‘而不是'sequence':12949

票数 0
EN

Stack Overflow用户

发布于 2021-08-06 10:44:21

不确定它是否相关,但是在第一个对象中缺少键值对'out': 1之后的逗号,在第二个对象中缺少'out': 2,这本身就会导致json格式化程序崩溃。

票数 0
EN

Stack Overflow用户

发布于 2021-08-15 21:31:55

我可以缩小范围,在代码中找到导致错误的错误。我在mylist1中遇到了键入键值的错误。我使用的是"tixid“而不是"txid”。

我发现它有点混乱,错误是"value不是一个预期的字符串“。在这种情况下,我期望"key不是预期的字符串“。因为它是一个带有键:值对的字典。或者这在json数组中是不同的?

不管怎样,脚本现在正在运行。坦克为所有的输入和支持!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68680091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档