7

我有问题。我有这个由 Open Flash Chart php 库自动生成的 JSON。问题是,OFC使用http://www.jsonlint.com/JSON Parse Error [Syntax Error]报告测试结果时报告我的 JSON 很好。但是,w3c 解析器也报错:(

有什么帮助吗?

这是 JSON:

{
    "title": "Followers Trend",
    "elements": [
        {
            "type": "area_hollow",
            "fill-alpha": 0.35,
            "values": [

            ],
            "colour": "#5B56B6",
            "text": "Followers",
            "font-size": 12 
        } 
    ],
    "x_axis": {
        "colour": "#A2ACBA",
        "grid-colour": "#D7E4A3",
        "offset": false,
        "steps": 4,
        "labels": {
            "steps": 2,
            "rotate": "vertical",
            "colour": "#A2ACBA",
            "labels": [

            ] 
        } 
    },
    "x_legend": {
        "text": "Week Trend (2009-08-17 - 2009-08-24)",
        "style": "{font-size: 20px; color: #778877}" 
    },
    "y_axis": {
        "min": 0,
        "max": 150,
        "steps": 30 
    }
}
4

4 回答 4

8

我在玩 JSON 时学到的一些东西是:

  • 如果您在各种 JSON 验证服务上验证了 JSON,并且结果是 GOOD。但是,当您失败时eval,请尝试使用(and )=>包装您的 JSON({jsondata})

    var json = eval( "(" + jsonString + ")" );
    
  • 永远不要自己构建 JSON。这是通向失败的大门。始终使用官方或流行的 JSON 库(取决于您的语言)。例如:

  • 要显示和格式化 JSON 数据,您可以使用JSONViewer
于 2011-10-25T02:38:21.920 回答
3

我认为 w3c 解析器有问题,我什至无法让它解析:

{
    "title" : "Followers Trend"
}

它给了我这个错误:

Validation errors:

lexer couldn't parse at "{
    "title" : "Followers Trend"
}"
于 2009-08-24T12:26:37.503 回答
2

http://json.bloople.net帮助您可视化代码以查找和纠正错误。

于 2009-08-25T04:36:17.613 回答
0

试试这个代码,JSON.parse() 方法无法将单引号中的字符串作为右侧的值处理。如果您想处理 UTF-8 字符代码,也可以。

parseJSON = function() {
    var data = {};
    var reader = new FileReader();
    reader.onload = function() {
        try {
            data = JSON.parse(reader.result.replace(/'/g, "\""));
            console.log(data)
        } catch (ex) {
            console.log('error' + ex);
        }
    };
    reader.readAsText(fileSelector_test[0].files[0], 'utf-8');
}
于 2020-09-17T01:01:23.807 回答