Dojo中的DataGrid,带有来自servlet的json数据

Dojo中的DataGrid,带有来自servlet的json数据,json,datagrid,dojo,Json,Datagrid,Dojo,我第一次使用JSON。。。 想要用JSON数据填充我的数据网格, 这是我的JSON数据: { "head": { "vars": [ "s" , "fname" , "lname" ] } , "results": { "bindings": [ { "s": { "type": "uri" , "value": "http://tn.gov.in/Person/41" } , "fname": { "type": "lit

我第一次使用JSON。。。 想要用JSON数据填充我的数据网格, 这是我的JSON数据:

{
  "head": {
    "vars": [ "s" , "fname" , "lname" ]
  } ,
  "results": {
    "bindings": [
      {
        "s": { "type": "uri" , "value": "http://tn.gov.in/Person/41" } ,
        "fname": { "type": "literal" , "value": " } ,
        "lname": { "type": "literal" ,n" }
      } ,
      {
        "s": { "type": "uri" , "value": "http://tn.gov.in/Person/37" } ,
        "fname": { "type": "literal" , "value": "sh" } ,
        "lname": { "type": "literal" , "value": "Vvan" }
      } ,
      {
        "s": { "type": "uri" , "value": "http://tn.gov.in/Person/39" } ,
        "fname": { "type": "literal" , "value": "Vavan " } ,
        "lname": { "type": "literal" , "value": "Sran" }
      }
    ]
  }
}
我想在数据网格中显示
fname
lname
,我该如何显示?
有人能给出一个适用于上述JSON的示例代码吗?我尝试了很多例子,我得到了一个空白网格,这里的关键点是,在dojo网格中使用数据之前,需要先转换数据

现场演示可在上找到


加载调用中有一个错误,它是一个异步调用,当您尝试构建网格时,您没有数据,并且无法根据需要构建存储。您可以在加载函数中包含所有内容,如下所示:

var items,store;
    var ss = dojo.xhrGet({
        url: "http://localhost:8477/E-Governance/listPerson", 
        handleAs: "json", 
        preventCache: true,
        load: function(data){
            items = dojo.map(data.results.bindings, function(binding) {
                return {
                    fname : binding.fname.value, 
                    lname : binding.lname.value
                };                    
            });
            store =  new dojo.data.ItemFileReadStore({           
                data : {
                    items : items
                }
            });             
            console.log(items[0].fname+' '+items[0].lname);  
            _createGrid(sore);

        }
    });

    console.log('3-4');
var items,store;
    var ss = dojo.xhrGet({
        url: "http://localhost:8477/E-Governance/listPerson", 
        handleAs: "json", 
        preventCache: true,
        load: function(data){
            items = dojo.map(data.results.bindings, function(binding) {
                return {
                    fname : binding.fname.value, 
                    lname : binding.lname.value
                };                    
            });
            store =  new dojo.data.ItemFileReadStore({           
                data : {
                    items : items
                }
            });             
            console.log(items[0].fname+' '+items[0].lname);  
            _createGrid(sore);

        }
    });

    console.log('3-4');