Ext.Error:无法解析服务器返回的JSON:您正在尝试解码无效的JSON字符串

时间:2012-10-09 09:33:38

标签: asp.net json extjs4

我正在使用ExtJs 4.0。我想在我的图表中读取json文件但是gettig跟随错误 Ext.Error:无法解析服务器返回的JSON:您正在尝试解码无效的JSON字符串。

存储模型:

 Ext.define('chartModel', {
    extend: 'Ext.data.Model',
    fields: [ 
            {name: 'year'},
            {name: 'comedy'},
            {name: 'action'},
            {name: 'drama'},
            {name: 'thriller'}
    ]
});

var myStore = Ext.create('Ext.data.Store', {
    model: chartModel,
    proxy: {
        type: 'ajax',
        url : '/data.json',
        reader: {
            type: 'json',
            root: 'data',
            method: "GET",
            messageProperty: 'jsonData'
        }
    },
    autoLoad: true
});

data.json文件:

data: [{year: 2005, comedy: 34000000, action: 23890000, drama: 18450000, thriller: 20060000}]

1 个答案:

答案 0 :(得分:2)

必须引用JSON属性名称才能被视为有效。此外,您的data必须是对象的属性,例如{"data":[{"year":2005, "comedy":3400000...

编辑: Neil说的是正确的。 Ext.decode不要求属性名称在引号中。但是,JSON standard 需要它们,所以你一定要养成使用它们的习惯。