Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON解析到Extjs存储_Javascript_Json_Parsing_Extjs_Extjs4 - Fatal编程技术网

Javascript 将JSON解析到Extjs存储

Javascript 将JSON解析到Extjs存储,javascript,json,parsing,extjs,extjs4,Javascript,Json,Parsing,Extjs,Extjs4,我使用ExtJS4请求id-label格式的数据(在我的例子中是id'-'rdfs:label') 我有复杂的JSON响应结构: [ { "@" : "msg:M_8CE1C07B1CFC469", "a" : "msg:Message", "msg:in-reply-to" : "msg:M4e32b0b7e37ae", "msg:sender" : "pacahon", "msg:reciever" : "Ennoia:DocumentTypesStore.listTemplates", "

我使用ExtJS4请求id-label格式的数据(在我的例子中是id'-'rdfs:label')

我有复杂的JSON响应结构:

[
{
"@" : "msg:M_8CE1C07B1CFC469",
"a" : "msg:Message",
"msg:in-reply-to" : "msg:M4e32b0b7e37ae",
"msg:sender" : "pacahon",
"msg:reciever" : "Ennoia:DocumentTypesStore.listTemplates",
"msg:result" : [
    {
     "@" : "user_onto:881fc0a8-2912-4964-86c6-adad4a713eb8",
     "dc:creator" : "auth:user1",
     "dc:identifier" : "881fc0a8-2912-4964-86c6-adad4a713eb8",
     "rdfs:label" : "undefined|ru",
     "rdfs:subClassOf" : ["user_onto:881fc0a8-2912-4964-86c6-adad4a713eb8_v_1_f_0","user_onto:881fc0a8-2912-4964-86c6-adad4a713eb8_v_1_f_1","user_onto:881fc0a8-2912-4964-86c6-adad4a713eb8_v_1_f_2","user_onto:881fc0a8-2912-4964-86c6-adad4a713eb8_v_1_f_3","docs:Document"]
    },
    {
     "@" : "user_onto:ef54ecef-8e19-41ea-b1cc-2bc4ebb40877",
     "dc:creator" : "auth:user1",
     "dc:identifier" : "ef54ecef-8e19-41ea-b1cc-2bc4ebb40877",
     "rdfs:label" : "type1|ru",
     "rdfs:subClassOf" : ["user_onto:ef54ecef-8e19-41ea-b1cc-2bc4ebb40877_v_1_f_0","user_onto:ef54ecef-8e19-41ea-b1cc-2bc4ebb40877_v_1_f_1","user_onto:ef54ecef-8e19-41ea-b1cc-2bc4ebb40877_v_1_f_2","user_onto:ef54ecef-8e19-41ea-b1cc-2bc4ebb40877_v_1_f_3","docs:Document"]
    }],
"msg:status" : "ok",
"msg:reason" : "запрос выполнен: авторизованны все найденные субьекты :     2"
}
] 
我想在我的商店中阅读此json并获得如下内容:

[{"@" : "user_onto:881fc0a8-2912-4964-86c6-adad4a713eb8"
  "rdfs:label" : "undefined|ru"},
 {"@" : "user_onto:ef54ecef-8e19-41ea-b1cc-2bc4ebb40877"
  "rdfs:label" : "type1|ru"}]

请注意,我不想更改此JSON响应(删除或添加大括号)。

我使用API文档解决了我的问题(Ext.data.reader.reader):

然后,我为我的JsonStore添加响应作为模型:

        proxy: {
                type: 'ajax',
                url: './controller.php?class=DocumentTypesStore&action=get&method=listTemplates',           
                method: "POST",
                actionMethods: {read: 'POST'},          
                reader: {
                    type: 'json',
                    root: [],
                            idProperty: '@'
                }
            }
我现在可以读取值了:

    jsonstore.on('load', function(){
        var response = jsonstore.first();
        console.log(response.get('id'));
        response.messages().each(function(message) {
            console.log(message.get('id'));
        });         
    });

嗯,问题是?对不起,我不明白重点
    jsonstore.on('load', function(){
        var response = jsonstore.first();
        console.log(response.get('id'));
        response.messages().each(function(message) {
            console.log(message.get('id'));
        });         
    });