2013-10-15 2 views
1

Это часть файла javascript, используемого для чтения json-файла.не удалось прочитать файл json, созданный из библиотеки gson

function initSearchInfo() { 
    var tagContent = ""; 
    var tagsCount = 15; 
    var i = 0; 
    $.ajax({ 
      type : "GET", 
     url : JSON_URL + SEARCH_HISTORY_JSON + EXT_JSON + versionParam, 
     dataType : "json", 
     contentType : "application/json", 
     async : false, 
     success : function(data) { 
      $.each(data.count, function(key, val) { 
       i++; 
       if (i > tagsCount) { 
        return false; 
       } else { 
        tagContent += "<li><a data-weight=" + val + "  href='" 
         + GLOBAL_SEARCH_URL + key + "'>" + key 
         + "</a></li>"; 
      } 
     }); 
     $("#taglist").html(tagContent); 

    }, 
    error : function(xhr, status, error) { 
     $("#tagCloud").html(getMessage(tagcloud.error)); 
     $("#searchHistory").hide(); 
     console.log(status); 
    } 
}); 

}

Я могу прочитать этот JSon файл (1):

{ 
    "count": { 
     "scm": { 
      "count": 22, 
      "date": "2013-05-08" 
     }, 
     "java7": { 
      "count": 22, 
      "date": "2013-05-08" 
     }, 
     "groovy": { 
      "count": 22, 
      "date": "2013-05-08" 
     }, 
     "ldap": { 
      "count": 21, 
      "date": "2013-04-25" 
     } 
    }, 
    "date": "10Oct2013" 
} 

Но когда я прочитал этот файл (2):

{"count":"{\"ldap\":{\"count\":15,\"date\":\"2013-04-04\"},\"myplace\":{\"count\":12,\"date\":\"2013-05-08\"},\"ts-ws1\":{\"count\":11,\"date\":\"2013-05-08\"},\"hbase workshop\":{\"count\":11,\"date\":\"2013-05-08\"},"date":"11 Oct 2013"} 

Мой код ломается, когда я пытаюсь прочитать файл (2). Файл (2) создан gson library. Но файл (1) написан мной.

ответ

0

Похоже, есть синтаксическая ошибка с файлом, дающим ошибку. Значение ключа «счет» заключено в двойные кавычки, и они не заканчиваются должным образом.

+0

Ошибка синтаксиса. Также являются действительными json-файлами. – akashmkr6

0

файл (2) не является допустимым json-файлом. У вас не может быть двойной кавычки до второй {а также вы не можете иметь обратную косую черту перед двойными кавычками. Отправьте свой код, который генерирует файл (2).

+0

файл 2 является допустимым json-файлом. – akashmkr6

+0

@ akashmkr6 Почему так? Я обнаружил, что это недействительно с этим [валидатор] (http://jsonlint.com/) – cindyxiaoxiaoli

Смежные вопросы