简体   繁体   English

JSON TypeError:无法读取未定义的属性“ image”

[英]JSON TypeError: Cannot read property 'image' of undefined

i already make this JSON. 我已经制作了这个JSON。 but i found this error 但是我发现了这个错误

 a +="<div class=\"back\">"
                + "<a href=\"[[--CatAddress, s_tk, tplid:8270--]]\"><img src=\"[[--ImgRootDir--]]resource/image/button_back.png\" width=\"85px\" /></a>"
                + "</div>"

                + "<div class=\"bg\">"
                + "<img src=\"[[--ImgRootDir--]]resource/image/Film_Level.png\" width=\"590px\" height=\"600px\" />"
                + "</div>"

                + "<div class=\"lvle\">"
                + "<table width=\"84%\">"
                + "<tr>"
                + getSubsHTML(nodes[0].image, jsonStage.indexOf("2014_2012.json_0_0"),0)
                + getSubsHTML(nodes[1].image, jsonStage.indexOf("2014_2012.json_0_1"),1)
                + getSubsHTML(nodes[2].image, jsonStage.indexOf("2014_2012.json_0_2"),2)
                + getSubsHTML(nodes[3].image, jsonStage.indexOf("2014_2012.json_0_3"),3)
                + getSubsHTML(nodes[4].image, jsonStage.indexOf("2014_2012.json_0_4"),4)
                + "</tr>"
                + "<tr>"
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_0"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_1"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_2"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_3"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_4"))
                + "</tr>"
                + "<tr>"
                + getSubsHTML(nodes[5].image, jsonStage.indexOf("2014_2012.json_0_5"),5)
                + getSubsHTML(nodes[6].image, jsonStage.indexOf("2014_2012.json_0_6"),6)
                + getSubsHTML(nodes[7].image, jsonStage.indexOf("2014_2012.json_0_7"),7)
                + getSubsHTML(nodes[8].image, jsonStage.indexOf("2014_2012.json_0_8"),8)
                + getSubsHTML(nodes[9].image, jsonStage.indexOf("2014_2012.json_0_9"),9)
                + "</tr>"
                + "<tr>"
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_5"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_6"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_7"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_8"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_9"))
                + "</tr>"
                + "<tr>"
                + getSubsHTML(nodes[10].image, jsonStage.indexOf("2014_2012.json_0_10"),10)
                + getSubsHTML(nodes[11].image, jsonStage.indexOf("2014_2012.json_0_11"),11)
                + getSubsHTML(nodes[12].image, jsonStage.indexOf("2014_2012.json_0_12"),12)
                + getSubsHTML(nodes[13].image, jsonStage.indexOf("2014_2012.json_0_13"),13)
                + getSubsHTML(nodes[14].image, jsonStage.indexOf("2014_2012.json_0_14"),14)
                + "</tr>"
                + "<tr>"
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_10"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_11"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_12"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_13"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_14"))
                + "</tr>"
                + getSubsHTML(nodes[15].image, jsonStage.indexOf("2014_2012.json_0_15"),15)
                + getSubsHTML(nodes[16].image, jsonStage.indexOf("2014_2012.json_0_16"),16)
                + getSubsHTML(nodes[17].image, jsonStage.indexOf("2014_2012.json_0_17"),17)
                + getSubsHTML(nodes[18].image, jsonStage.indexOf("2014_2012.json_0_18"),18)
                + getSubsHTML(nodes[19].image, jsonStage.indexOf("2014_2012.json_0_19"),19)
                + "</tr>"
                + "<tr>"
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_15"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_16"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_17"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_18"))
                + getStageHTML(jsonStage.indexOf("2014_2012.json_0_19"))
                + "</tr>"
                + "</table>"
                + "</div>"

                + "<div class=\"left\">"
                + "<img src=\"[[--ImgRootDir--]]resource/image/Camera_kiri.png\" width=\"150px\" />"
                + "</div>"
                + "<div class=\"right\">"
                + "<img src=\"[[--ImgRootDir--]]resource/image/Camera_kanan.png\" width=\"150px\" />"
                + "</div>";

and this is the json 这是json

nodes: [
{
id: "2014_2012.json_0_0",
image: "_1396278834_af_org.png",
question: "1. What is this ?",
answer: "EXX",
hint: "asdadsadsadasdasdaads"
},
{
id: "2014_2012.json_0_0",
image: "_1396278834_af_org.png",
question: "1. What is this ?",
answer: "EXX",
hint: "asdadsadsadasdasdaads"
},

Ok, made some assumptions but this worked: http://jsfiddle.net/sp1nf731/3/ 好的,做了一些假设,但这可行: http : //jsfiddle.net/sp1nf731/3/

Are you referencing your json variable correctly? 您是否正确引用了json变量?

var x = { nodes: [
{
id: "2014_2012.json_0_0",
image: "_1396278834_af_org.png",
question: "1. What is this ?",
answer: "EXX",
hint: "asdadsadsadasdasdaads"
},
{
id: "2014_2012.json_0_0",
image: "_1396278834_af_org.png",
question: "1. What is this ?",
answer: "EXX",
hint: "asdadsadsadasdasdaads"
} 
] };

console.log( x.nodes[1].image );

This works fine for me 这对我来说很好

I do not know how you get nodes, but if inline you need 我不知道如何获得节点,但是如果是内联则需要

var nodes=[
  { .... },
  { .... },
  { .... }
]; // no comma on the last

Here is a suggestion to shorten your code in jQuery 这是缩短jQuery中代码的建议

$(function() {
  var $rowa=$("<tr/>"), $rowb=$("<tr/>"),
  $.each(nodes,function(i,node) {
    if (i>0 && i%5==0) {
      $("#table1 tbody").append($rowa).append($rowb);
    }
    $rowa.append(getSubsHTML(node.image, jsonStage.indexOf("2014_2012.json_0_"+i),i);
    $rowb.append(getStageHTML(jsonStage.indexOf("2014_2012.json_0_"+i));
  });        
  // here you may test if i%5 !=0  and add the last rows
});        

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM