angular 2从JSON响应中删除一个额外的字符

时间:2016-08-22 09:59:19

标签: angular typescript

我从Django后端得到以下回复:

[{u'lat': 53.12258796536196, u'lng': 8.335471451282501}, {u'lat': 53.1225300194776, u'lng': 8.335511684417725}, {u'lat': 53.12250346092115, u'lng': 8.335405737161636}, {u'lat': 53.12256301644911, u'lng': 8.33535611629486}]

我按如下方式处理:

response => {       

        this.exhibitionSurveyObjects = response;
        console.log(this.exhibitionSurveyObjects[0].path) <== this line print
        for(var i = 0; i < this.exhibitionSurveyObjects.length; i++){

          myVar.push(JSON.parse(this.exhibitionSurveyObjects[i].path)) 

        }

        var polygon = new google.maps.Polygon({
          paths: myVar,
          strokeColor: '#FF0000',
          strokeOpacity: 0.8,
          strokeWeight: 3,
          fillColor: '#FF0000',
          fillOpacity: 0.35,
          map: this.map
        });
      },

我的控制台上出现错误Uncaught SyntaxError: Unexpected token u in JSON at position 2,即字符'u'基本上是意外的?

我该怎样摆脱它?也许我该如何删除这个'你'字符或其他任何方式?

1 个答案:

答案 0 :(得分:0)

一般字符串处理¶

每当你使用Django的字符串时 - 例如,在数据库查找,模板渲染或其他任何地方 - 你有两种选择来编码这些字符串。您可以使用Unicode字符串,也可以使用使用UTF-8编码的普通字符串(有时称为“字节串”)。

在Python 3中,逻辑是相反的,即普通字符串是Unicode,当你想要专门创建一个字节串时,你必须在字符串前加上'b'。正如我们在1.5版的Django代码中所做的那样,我们建议您从代码中的 future 库中导入unicode_literals。然后,当您特别想要创建bytestring文字时,请在字符串前加上'b'。

Python 2遗产:

my_string =“这是一个字节串” my_unicode = u“这是一个Unicode字符串”

来源:https://docs.djangoproject.com/es/1.10/ref/unicode/