簡體   English   中英

使用JSON.parse時,出現“ SyntaxError:JSON中位置1的意外令牌”

[英]I am getting “SyntaxError: Unexpected token ' in JSON at position 1” when using JSON.parse

我在訪問myView.js上的列表param = ['foo','bar']myView.js

JS代碼將param當作字符串對待,但是當我嘗試JSON.parse(param) ,出現如下所示的錯誤。

我在這里想念什么?

myView.html:

    <script>
    window.obj = {};
    obj.param = "{{ param | safe }}";
    </script>

views.py:

    def myView(req):
        context = {'param':['foo','bar']}
        return render(req, 'myView.html', context)

myView.js:

$(document).ready(function() {

      console.log(window.obj.param); //prints ['foo','bar']
      console.log(window.obj.param[0]); //prints [
      console.log(JSON.parse(window.obj.param)); // Uncaught SyntaxError: Unexpected token ' in JSON at position 1

      //what I need to happen
      console.log(param[0]); // prints 'foo'
});

json格式僅允許使用雙引號( token ' in JSON at position 1 ),單引號的字符串不是有效的json格式,因此,如果您嘗試解析它,則會收到錯誤,如此處所示

 function safeParse(param){ try { console.log(JSON.parse(param)) } catch (e) { console.log("there was an issue with parsing your string") } } safeParse("['foo','bar']"); safeParse('["foo","bar"]'); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM