从 json 动态获取数据时出现类型错误
TypeError while getting data to dynamically from json
var testjson = [{"Student-Records":[{"Name":"John",}]}]
var sturec= names[k];
// where names[k] is Student-Records
/* Proc 1 */ var temporaryjsondata = testjson [0][sturec];
/* Proc 2 */ var temporaryjsondata = testjson [0]["'"+sturec+"'"];
/* Proc 3 * Static data */ var temporaryjsondata = testjson [0]['Student-Records'];
alert(JSON.stringify(temporaryjsondata));
虽然 proc 3 是静态的,但工作正常,没有错误,但我需要按动态值(如 sturec
)过滤它。以下proc 1 and 2
会发出带有正确数据的警报,但随后给出以下错误:
在 Mozilla 中:
TypeError: temporaryjsondata is undefined
在镶边中:
Uncaught TypeError: Cannot read property '0' of undefined
任何人都可以让我知道上述方法是否存在任何错误以及如何动态获取数据。这是小提琴。虽然上面的示例在小提琴中运行良好,但在我的应用程序代码中失败。可能导致上述错误的因素是什么。
也许 jsFiddle 比你的严格客户更宽容?
var testjson = [{"Student-Records":[{"Name":"John",}]}]
"约翰"后面有一个逗号,没有任何意义。
var sturec= names[k];
- "名称"没有定义 - 就像"k"一样。
// where names[k] is Student-Records
/* Proc 1 */ var temporaryjsondata = testjson [0][sturec];
/* Proc 2 */ var temporaryjsondata = testjson [0]["'"+sturec+"'"];
/* Proc 3 * Static data */ var temporaryjsondata = testjson [0]['Student-Records'];
- "sturec"没有在任何地方(分别错误地)定义。
- 请删除testjson
和[0]
之间的空格。
- ["'"+sturec+"'"]
没有任何意义。要么 sturec 已经包含字符串,要么(如果它包含数字但肯定需要作为字符串)使用 [""+sturec]
.
请提供实际代码,以便我们能够为您提供进一步的帮助。
而且,由于您似乎只提供了更复杂代码的一部分,并且错误消息并不真正适合您提供的代码:您是否确定警报在警报仍在范围内时尝试temporaryjsondata
?
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 看到“;未捕获的类型错误:无法读取属性'weight'未定义的“;尽管按照字面上的指示
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- 未捕获的类型错误:无法读取属性'addEventListener'的null chrome扩展名
- 如何解决这种情况下的非法调用类型错误
- 未捕获的类型错误:$(..).dataTable不是函数
- 未捕获的类型错误:无法读取属性'状态'在react中为null
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 类型错误:url未定义extjs 4正在填充组合框
- 未捕获的类型错误:无法读取属性'中止'的未定义
- 类型错误'未定义'不是对象(正在评估'navigator.connection.type'
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- 未捕获的类型错误:undefined不是函数$
- 输入类型文件的未捕获类型错误
- 未捕获的类型错误:无法设置属性'背景'的未定义
- "未捕获类型错误/丢弃意外“;因为一句台词而出现?(HTML w/<脚本>)
- Javascript未捕获类型错误:无法读取属性'0'的未定义