【问题标题】:save parsed JSON as obj将解析后的 JSON 保存为 obj
【发布时间】:2015-06-17 01:44:51
【问题描述】:

第一个问题,我正在尝试解析存储在我的虚拟主机上的同一文件目录中的 JSON 文件,作为运行 javascript 来解析它的 html 文件,我添加了一个 console.log 来调试和确认该文件被“get”捕获以确保我能够通过使用jquery getJSON“获取”文件,在回调中我尝试创建一个将全局变量重新定义为对象的函数包含解析的数据,但是当我尝试将其注入 document.getElemendtById('example').innerhtml = tgmindex.ToughGuys[1].name;

它返回一个错误“Uncaught TypeError: Cannot read property '1' of undefined”

这是我的 js/jquery

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; 
});
});

这是 JSON 中包含的内容(我确保先尝试 linting 它,这是一个有效的 json)

{"ToughGuys":[ {"name":"Ivan", "position":"Executive"}, {"name":"Little Johnny", "position":"Intern"}, {"name":"Beige Cathy", "position":"Executive"}, {"name":"Stan", "position":" original Intern"} ]}

【问题讨论】:

    标签: javascript jquery json parsing


    【解决方案1】:

    您将 tgmIndex 设置为 parseJson 函数。

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

    【讨论】:

    • 这仍然行不通,因为data 已经是一个对象,而不是 JSON。
    • 你的建议返回一个新的 Uncaught SyntaxError: Unexpected token o
    • 这意味着当我尝试此操作并捕获单个字母 o 时,它正在查看它现在视为字符串的东西,如果它认为它是未定义的,我从其他尝试中得到它返回与 u 相同的未定义还有
    【解决方案2】:

    大概您的服务正在返回application/json。因此data 已经包含了json。

    tgmIndex = data;

    那么...“Tough Guys”是您应该索引的内容。不是“硬汉”

    您的示例 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);

    【讨论】:

    • 不幸的是,您的建议返回了与@crob 的响应相同的新错误
    • 哇,我很高兴你抓住了这个!在更正编码时正在查看 test.json 的版本,我忘记更新托管版本,你是救星!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多