我已经从React客户端向Django + DRF api发送了一些表单数据。
在表单数据中,我有一个属性date_strings
,它是一个日期时间字符串数组。即[“ date1”,“ date2”,“ date3”]
为了将其发送到我的Django api,我使用JSON.stringify将字符串数组转换为字符串
const myForm = new FormData();
myForm.set("date_strings", JSON.stringify(dateStrings));
在我的序列化器的create方法中,我想将此数据转换为列表。
def create(self, validated_data):
stringified_array = validated_data.pop('date_strings')
// stringified_array: '["date1", "date2", "date3"]'
如何将字符串中的字符串数组转换为python列表?
答案 0 :(得分:1)
您可以使用.split
轻松地将字符串转换为列表。但是,您必须删除最外面的字符["
和"]
,因为否则这些字符也会被添加到字符串列表中。
stringified = '["date1", "date2", "date3"]'
unstringified = stringified[2:-2].split('", "')
返回
['date1', 'date2', 'date3']
@mhodges提到的更好的解决方案
import json
stringified = '["date1", "date2", "date3"]'
unstringified = json.loads(stringified)
还会输出:
['date1', 'date2', 'date3']