1

これは、jsonファイルを読み取るために使用しているjavascriptファイルの一部です。

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 ライブラリによって生成されますが、ファイル (1) は私が作成したものです。

4

2 に答える 2

0

エラーを与えるファイルに構文エラーがあるようです。「count」キーの値が二重引用符で囲まれており、正しく終了していません。

于 2013-10-15T06:55:16.793 に答える
0

file(2) は有効な json ファイルではありません。2 番目の { の前に二重引用符を使用することはできません。また、二重引用符の前にバックスラッシュを使用することもできません。file(2) を生成するコードを投稿してください。

于 2014-07-15T21:07:45.897 に答える