在Python中将字符串“ [Value]”转换为仅“ Value”

时间:2019-04-17 18:43:36

标签: python json

我正在与Python一起使用的API希望在这样的一点上以JSON格式输入:

  'type': 'leadlist',
  'filter': [1135],

但是我只能用Python来给API提供这种价值:

  'type': 'leadlist',
  'filter': '[1135]',

键“过滤器”的值是这样生成的。请注意,第一个示例是否为“ nothing”是一个字符串

'filter':f"[{key}]"

有什么办法不能成为字符串?

编辑:预期输入不是列表。这是我正在使用的软件中某个元素的ID(数字),以某种方式位于JSON API中的括号之间。

3 个答案:

答案 0 :(得分:2)

如果您可以将其作为列表传递(这是我认为的预期),那么您可以这样做:

'filter':[key]

一共也许是这样的:

body = {'type': 'leadlist',
        'filter':[key]}

答案 1 :(得分:0)

好吧,我只是想通了。

尽管Mautic API似乎希望在括号之间引用元素的数字ID,但碰巧即使没有括号,它也接受它作为整数。

所以在这种情况下,解决方案是这样的:

  'type': 'leadlist',
  'filter': int(f'{value}'),

答案 2 :(得分:0)

如果您确实希望将带有方括号的字符串转换为python列表,则可以按如下方式进行ast.literal_eval:

import ast
ast.literal_eval("[1,2,3]")
>> [1,2,3] #gives a python list

这适用于大多数python数据结构。