2016-12-30 63 views
1

我得到以下物品从我的Django的休息框架API调用回:转换字符串数组到阵列中的JavaScript

services = "['service1', 'service2', 'service3']" 

我想services = ['service1', 'service2', 'service3']

在我的JavaScript我试过services = JSON.parse(services) - 没”不要做任何事情,也试过$.parseJSON(services)

在我的串行我曾尝试设置服务ListField,也试过JSONSerializerField()

class JSONSerializerField(serializers.Field): 
    # Adapted from http://stackoverflow.com/a/28200902 
    def to_internal_value(self, data): 
     return json.loads(data) 

    def to_representation(self, value): 
     return value 
+0

JSON中没有赋值,只是'='右边的数据,它看起来像JSON应该有'''而不是'''在项目上,并且不能被全部引用。 – dandavis

+0

'services'在你的文章中发布了一个变量或者你收到的一部分内容? –

+0

它是我从我的调用中收到的,我将它作为services = JSONField(blank = True,default = list)存储在我的模型中。引用技巧,认为这可能是解析问题。 –

回答

0

您需要使用的,而不是单一的双引号。

这应该工作:

services = '["service1", "service2", "service3"]' 
JSON.parse(services)` 
+0

是的,工作,谢谢:) –

1

为了确保Django和一些JavaScript代码的浏览器之间的正确解析,确保你在你的控制器返回JsonResponse()。这可以确保您可以在Javascript中使用JSON.parse()解析它。