如何使用python将字符串转换为数组?
我需要将项目的值转换为数组。
我尝试使用json.loads,但不起作用。
只有ITEMS密钥的值是字符串形式,而正是这个值我需要转换为数组
我在做什么错了?
谢谢。
"metadata": {
"deleted": "false",
"low_manual": "false",
"canceled": "false",
"items": "[{'descricao': 'ITEM1', 'amount': '200'}, {'amount': '3000', 'descricao': 'ITEm2'}]"
}
答案 0 :(得分:2)
您要尝试的操作称为“反序列化”。反序列化是从JSON文本转换为对象(在本例中为Python-Object)的过程。最好使用库来完成序列化和反序列化。
反序列化Python工具:
您要做的是安装该库并将其导入到您的项目中。然后,您想通过使用类似于以下命令来对JSON文本进行反序列化:
obj = jsonpickle.decode(JSON text)
“ obj”现在是具有“已删除”,“ low_manual”,“取消”和“ items”属性的对象。我相信“项目”将包含一系列对象,您可以通过父对象“ obj”访问这些对象。
答案 1 :(得分:1)
已解决。
var = "metadata": {
"deleted": "false",
"low_manual": "false",
"canceled": "false",
"items": "[{'descricao': 'ITEM1', 'amount': '200'}, {'amount': '3000', 'descricao': 'ITEm2'}]"
}
from ast import literal_eval
stringC = literal_eval(var['metadata']['items'])
stringC[0]