Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将对象数组的字符串表示形式转换为对象数组?ast不';好像不行_Python_Arrays_String_Type Conversion - Fatal编程技术网

Python 如何将对象数组的字符串表示形式转换为对象数组?ast不';好像不行

Python 如何将对象数组的字符串表示形式转换为对象数组?ast不';好像不行,python,arrays,string,type-conversion,Python,Arrays,String,Type Conversion,要将对象数组转换为字符串,我可以使用str(arr) 反过来,是否有一个内置Python函数将对象数组的字符串表示形式转换为对象数组 换句话说,如何将“[{'key1':'val1','key2':'val2'}]”转换回对象数组?我想用split来做,但它不像str()那样干净 我会得到ValueError:格式错误的节点或字符串:以防您想将其标记为重复并关闭。Python打印列表不会产生'[{“a”:null,“b”:true}]。这看起来更像是[{'a':None,'b':True}]中的

要将对象数组转换为字符串,我可以使用
str(arr)

反过来,是否有一个内置Python函数将对象数组的字符串表示形式转换为对象数组

换句话说,如何将
“[{'key1':'val1','key2':'val2'}]”转换回对象数组?我想用
split
来做,但它不像
str()
那样干净


我会得到
ValueError:格式错误的节点或字符串:以防您想将其标记为重复并关闭。

Python打印列表不会产生
'[{“a”:null,“b”:true}]
。这看起来更像是
[{'a':None,'b':True}]
中的json序列化列表,所以您可以使用
json.loads
。不要执行str1.replace(“'”,“'”)
thing,因为它可能会损坏数据中的实际字符串值。@wim我从API获取此信息,因此我无法控制输入。我同意
str.replace
会损坏实际字符串值,但ast在这里不起作用。您知道如何处理此问题吗?如果您是从API获取此信息,则可能是JSON,因此请使用
json.loads()
@Barmar谢谢。看来json.loads()直接起作用了。
// examples
arr = [{'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}, {'key1': 'val1', 'key2': 'val2'}]
arrStr = str(arr)
// "[{'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}, {'key1': 'val1', 'key2': 'val2'}]"

arr2 = [{'key1': 'val1', 'key2': 'val2'}]
arrStr2 = str(arr)
// "[{'key1': 'val1', 'key2': 'val2'}]"
str1 = '[{"a":null,"b":true}]'
arr = ast.literal_eval(str1) 
str1 = '[{"a":null,"b":true}]'
arr = json.loads(str1.replace("'",'"'))
// [{'a': None, 'b': True}]