将字符串内部的字符串数组转换为python列表

时间:2018-11-20 21:41:20

标签: python json django parsing

我已经从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列表?

1 个答案:

答案 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']