2013-04-22 62 views
0

我是dojo和json的新手。我试图查询服务器以json形式获取数据并解析结果并在小部件中使用html模板来显示。解析Json以在dojo小部件中使用?

为了测试它,我试过了。

 require(["dojo/request", "dojo/dom", "dojo/dom-construct","dojo/_base/array", "my/widgets/", "dojo/domReady!"], 
function(request, dom,domConst, arrayUtil, support){ 
// Load up our authors 
request("js/my/data/sample.json", { 
    handleAs: "json" 
}).then(function(LinksMap){ 
     // Get a reference to our container 



    arrayUtil.forEach(LinksMap, function(List){ 
     // Create our widget and place it 

     console.debug(LinksMap); 
     //var widget = new support(author).placeAt(authorContainer); 

不知道我是否做得对。有什么我在误解。我按照here提供的示例并在此基础上构建。

+0

您是否在控制台中发现任何错误?发布的代码运行时会发生什么? – BuffaloBuffalo 2013-04-22 18:45:15

+0

我没有得到任何错误 – bumblebee 2013-04-22 18:48:26

+0

如果你打印'console.log(LinksMap);'作为第一行的延迟处理函数,打印什么? – BuffaloBuffalo 2013-04-22 19:06:10

回答

0

我想从你的文章的评论要修改递延处理功能是

request("js/my/data/sample.json", { 
    handleAs: "json" 
}).then(function(jsonResults){ 
    console.log(jsonResults.Result) 
}); 

您发布的JSON是与属性Result的对象。 Result属性包含一个对象数组。那些对象包含一个属性LinksMap,它拥有另一个对象。

+0

谢谢,我如何访问linksMap对象 – bumblebee 2013-04-22 21:03:13

+0

'LinksMap'是'Result'数组中每个对象的属性。因此,要获得第一个'LinksMap'将是'jsonResults.Result [0] .LinksMap',第二个将是'jsonResults.Result [1] .LinksMap'等等。 – BuffaloBuffalo 2013-04-23 12:09:40

+0

谢谢@buffaloBuffalo – bumblebee 2013-04-23 15:20:36