Python 将字符串响应转换为json或列表

Python 将字符串响应转换为json或列表,python,python-3.x,numpy,Python,Python 3.x,Numpy,我的回答是: “[“a”、“bb”]、[“c12”、“dddd”]、[“和”、“等等”]” 因此,我尝试用列表(响应)转换这个字符串,但没有得到我想要的结果。有没有更简单的解决方案将此响应转换为列表甚至json 我的预期结果如下所示: [“a”、“bb”、“c12”、“dddd”、“和”、“等等”]如果您的字符串只包含基本的文字(即字符串、字节、数字、元组、列表、dicts、set、booleans和None),则可以使用ast模块解析字符串(): 从文件中: 这可以用于安全地评估包含来自不受信

我的回答是:

“[“a”、“bb”]、[“c12”、“dddd”]、[“和”、“等等”]”

因此,我尝试用
列表(响应)
转换这个字符串,但没有得到我想要的结果。有没有更简单的解决方案将此响应转换为列表甚至json

我的预期结果如下所示:
[“a”、“bb”、“c12”、“dddd”、“和”、“等等”]

如果您的字符串只包含基本的文字(即字符串、字节、数字、元组、列表、dicts、set、booleans和
None
),则可以使用
ast
模块解析字符串():

从文件中:

这可以用于安全地评估包含来自不受信任源的Python值的字符串,而无需自己解析这些值。它不能计算任意复杂的表达式,例如涉及运算符或索引的表达式

但你也应该注意到:

由于Python的AST编译器中的堆栈深度限制,可能会使用足够大/复杂的字符串使Python解释器崩溃

如果您还需要调整结果列表,您可以按照答案进行操作

从那篇文章中我喜欢的一种方法是:

import functools
import operators

flat_list = functools.reduce(operator.iconcat, res_list, [])
print(flat_list)
# ['a', 'bb', 'c12', 'dddd', 'and', 'so on'] 
根据您提供的信息,很难将该字符串转换为json表示形式,但是可以考虑您有一个包含两个元素的列表。如果我们将内部列表中的两个元素视为(key,value)关系,则可以用这种方式创建JSON兼容字典:

json_dict = dict(res_list)
print(json_dict)
# {'a': 'bb', 'c12': 'dddd', 'and': 'so on'}

import json
json.dumps(json_dict)
# '{"a": "bb", "c12": "dddd", "and": "so on"}'

您的字符串是否包含
而不是
?Hi@notpespi。请澄清,我们看到的嵌套列表位于
str
中,不是吗?类似于:
”[[[“a”、“bb”]、[“c12”、“ddddd”]、[“and”、“so”]]“
。使用的特殊引号是字符串o我们只找到普通引号(
)字符?请给我们预期的结果。我的手机没有这样的样式。我会用我的电脑更正它。这回答了你的问题吗?
json_dict = dict(res_list)
print(json_dict)
# {'a': 'bb', 'c12': 'dddd', 'and': 'so on'}

import json
json.dumps(json_dict)
# '{"a": "bb", "c12": "dddd", "and": "so on"}'