将已解析的JSON保存为obj

时间:2015-06-17 01:44:52

标签: javascript jquery json parsing

有史以来第一个问题,我试图解析存储在我的webhost上同一文件目录中的JSON文件,就像运行javascript来解析它的html文件一样,我已经添加了一个console.log到调试并确认文件被' get'捕获。确保我能够获得'使用jquery getJSON的文件,在回调中,我试图创建一个函数,将全局变量重新定义为包含已解析数据的对象,但是当我尝试将其注入{{1}时}

它返回错误"未捕获的TypeError:无法读取属性' 1'未定义"

这是我的js / jquery



document.getElemendtById('example').innerhtml = tgmindex.ToughGuys[1].name;




以下是JSON中包含的内容(我确保首先尝试使用它并且它是一个有效的json)

var tgmIndex; $(document).ready(function () { $.getJSON("http://webspace.ocad.ca/~wk12ml/test.json",function(data){ console.log( "success" ); tgmIndex =$.parseJSON; document.getElementById('tgm1').innerHTML= tgmIndex.ToughGuys[1].name; }); });

2 个答案:

答案 0 :(得分:1)

您正在将tgmIndex设置为parseJson函数。

应该做tgmIndex =$.parseJSON(data);

答案 1 :(得分:0)

据推测,您的服务正在返回application/json。因此data已包含json。

tgmIndex = data;

然后......" Tough Guys"是你应该索引的。不是" ToughGuys"

您的示例JSON在您的问题中是错误的。如果我去

http://webspace.ocad.ca/~wk12ml/test.json

我明白了:

{"Tough Guys":[
    {"name":"Ivan", "position":"Executive"},
    {"name":"Little Johnny", "position":"Intern"},
    {"name":"Beige Cathy", "position":"Executive"},
    {"name":"Stan", "position":"Intern 0"}
]}

请参阅"Tough Guys"您的问题。

document.getElementById('tgm1').innerHTML= tgmIndex['Tough Guys'][1].name;

如果data由于某种原因不是JSON:

tgmIndex = $.parseJSON(data);