Unable to solve error “ Uncaught SyntaxError: Unexpected token o ”

前端 未结 4 1610
栀梦
栀梦 2020-12-21 13:02

I am currently practicing using Javascript/Dojo. However, I have an error that I am unable to solve:

Uncaught SyntaxError: Unexpected token o

相关标签:
4条回答
  • 2020-12-21 13:24

    try :

     alert(data.list[1].Name);
    

    instead of:

     var jsonData = JSON.parse(data);
     alert(jsonData.list[1].Name);
    

    data is already a javascript object not a string

    0 讨论(0)
  • 2020-12-21 13:30

    That's because you are parsing a plain object, and not a string, as expected. In this case you just have to:

    alert(jsonData.list[1].Name);
    

    In this case, to use the JSON.parse method you should've been using this string:

    var stringifiedJson = var data = "{"+
        "\"list\": {"+
            "\"1\": {"+
                "\"Relevance\": \"Low\","+
                "\"id\": 1,"+
                "\"Name\": \"Inorganic\""+
            "},"+
            "\"2\": {"+
                "\"Relevance\": \"Low\","+
                "\"id\": 2,"+
                "\"Name\": \"Mobile\""+
            "}"+
        "}"+
    "}";
    
    var jsonData = JSON.parse(stringifiedJson);
    alert(jsonData.list[1].Name);
    

    I recommend you to take a look at this MDN article about native JSON

    0 讨论(0)
  • 2020-12-21 13:40

    Error is once declared as datatype json, it parses for you.

    so : it would be something like this

    <span style="text-decoration:line-through;">var obj = JSON.parser(data)</span>
    
     success: function(data){
    
      var obj = JSON.parser(data)
    
      alert(obj.data)
    
    }
    
    0 讨论(0)
  • 2020-12-21 13:44

    You're trying to parse a JavaScript object. JSON.parse is for parsing a JSON string representing a JavaScript-like object.

    Just skip the parsing altogether:

    alert(data.list[1].Name);
    

    On a related note: you might be interested in reading There's no such thing as a "JSON Object".

    0 讨论(0)
提交回复
热议问题