Javascript 为什么我能';t在通过$.getjson()传递变量时,使用点(.)运算符访问json属性
我有一个$getJSON(),我想通过控制台日志中的未定义传递一个var 我以前做过这件事,但我似乎不明白为什么它不起作用 任何帮助都将不胜感激 这是我的例子Javascript 为什么我能';t在通过$.getjson()传递变量时,使用点(.)运算符访问json属性,javascript,jquery,json,Javascript,Jquery,Json,我有一个$getJSON(),我想通过控制台日志中的未定义传递一个var 我以前做过这件事,但我似乎不明白为什么它不起作用 任何帮助都将不胜感激 这是我的例子 { “哈利”:{ “示例”:“测试”, “示例1”:“测试”, } “詹姆斯”:{ “示例”:“测试”, “示例1”:“测试”, } “本”:{ “示例”:“测试”, “示例1”:“测试”, } }当您想要动态访问对象(JSON)属性(使用变量或表达式)时,应该使用方括号表示法 [方括号内的表达式或变量]。i、 e,json[useri
{
“哈利”:{
“示例”:“测试”,
“示例1”:“测试”,
}
“詹姆斯”:{
“示例”:“测试”,
“示例1”:“测试”,
}
“本”:{
“示例”:“测试”,
“示例1”:“测试”,
}
}
当您想要动态访问对象(JSON)属性(使用变量或表达式)时,应该使用方括号表示法
[方括号内的表达式或变量]
。i、 e,json[useridno]
var usersidno = $("#hiddenid").html();
$.getJSON(
"http://localhost/example/file.json",
function(json) {
console.log(json[usersidno]); // try to use square brackets
});
这是一个工作示例,您的问题我使用了一个api,它返回一个json,您可以使用[]注释标题访问对象属性
$(文档).ready(函数(){
var user=$(“#hiddenid”).html()
console.log(用户类型)
$.getJSON(
"https://jsonplaceholder.typicode.com/todos/1",
函数(json){
让js=JSON.parse(JSON.stringify(JSON))
log(js[user]);
console.log(js.user);//未定义
console.log(js)
});
});代码>
userId
在哪个变量中获得了未定义的?能否尝试记录函数中接收的“json”对象,并查看json中是否存在名为useridno的属性?似乎在对象中没有名为useridno的属性。Harry、James和Ben之间不应该有comas吗?如果我使用console.log(json),我会像往常一样得到所有的名称。看起来您在这里尝试的是json[usersidno]
,而不是json.usersidno
。您希望获取名称与usersidno
中的值匹配的属性,而不是名为usersidno
的属性。