SyntaxError:JSON.parse:意外的数据结束

时间:2013-10-14 18:50:42

标签: javascript json rest

在javascript中从rest api读取json参数时,我一直收到这个SyntaxError。

有什么想法可能是什么?

我感谢任何帮助

代码:

     parseJSONResponse : function(inResult) {
     var jsonDoc = JSON.parse(inResult);

    this.fmeForm =  document.forms['fmeForm'];

    ar parameters = jsonDoc.serviceResponse.parameters.parameter;
    for( i = 0; i < parameters.length; i++) {

        if(parameters[i].type === "LOOKUP_CHOICE") {
            this.createComboBox(parameters);
        }
        if(parameters[i].type === "LISTBOX_ENCODED") {
            this.createCheckboxGroup(parameters);
        }
    }
},

休息的json看起来像这样:

      "serviceResponse": {
      "parameters": {"parameter": [
  {
     "optionsType": "MULTICHOICE_CONFIG",
     "type": "LISTBOX_ENCODED",
     "options": {"option": [
        {"value": "NOR"},
        {"value": "NOR_roads"}
     ]}
  },
  {
     "optionsType": "SINGLECHOICE_CONFIG",
     "type": "LOOKUP_CHOICE",
     "options": {"option": [
        {
           "displayAlias": "WGS84, Lat-Long; Degrees [LL84]",
           "value": "EPSG:4326"
        }
     ]}
  },
  {
     "name": "GEOM",
     "description": "",
     "defaultValue": "<lt>?xml<space>version=<quote>1.0<quote><space>encoding=     <quote>US_ASCII<quote><space>standalone=<quote>no<quote><space>?<gt><lt>geometry<gt>  <lt>polygon<gt><lt>line<gt><lt>coord<space>x=<quote>-124<quote><space>y=<quote>48<quote><solidus><gt><lt>coord<space>x=<quote>-124<quote><space>y=<quote>49.399999999999999<quote><solidus><gt><lt><solidus>line<gt><lt><solidus>polygon<gt><lt><solidus>geometry<gt>",
     "optionsType": "SINGLECHOICE_CONFIG",
     "type": "GEOMETRY",
     "options": {"option": {"value": "GEOM"}}
  },

感谢名单!

2 个答案:

答案 0 :(得分:4)

正如大家所说,这绝对不是一个有效的JSON,无论如何,尝试在http://jsonlint.com/中验证您的JSON,这将显示您的问题可能在哪里

答案 1 :(得分:0)

这可能是JSON响应的摘录或非常破碎的结果。一个问题是最后的逗号使其无效JSON ...