I use ExtJS4 to request data in format id-label (‘id’-‘rdfs:label’ in my case).
I have complex structure of JSON response:
[
{
"@" : "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"
}
]
I want to read this json in my store and get something like this:
[{"@" : "user_onto:881fc0a8-2912-4964-86c6-adad4a713eb8"
"rdfs:label" : "undefined|ru"},
{"@" : "user_onto:ef54ecef-8e19-41ea-b1cc-2bc4ebb40877"
"rdfs:label" : "type1|ru"}]
Notice, I don’t want to change this JSON response (remove or add braces).
I used API Doc to solve my problem (Ext.data.reader.Reader):
Then I add Response as model for my JsonStore:
And I can read values now: