【发布时间】:2021-09-06 05:38:00
【问题描述】:
我得到这个作为我的 ajax 请求结果:
{
"12":{
"name":"Diana",
"age":"51",
"mid":"562132",
"character":{
"height":"180",
"suffix":" cm",
"prefix":"Heinght in: ",
"ratio":{
"w":"99",
"l":"12"
}
}
},
"13":{
"name":"Rachel",
"age":"32",
"mid":"56547",
"character":{
"height":"1.7",
"suffix":" m",
"prefix":"Height in: ",
"ratio":{
"w":"45",
"l":"1"
}
}
},
"14":{
"name":"Nova",
"age":"34",
"mid":"554666",
"character":{
"price":"11.999",
"suffix":" EUR",
"prefix":"Height in: ",
"ratio":{
"w":"176",
"l":"87"
}
}
}
}
我想循环并为每个项目构建 html,这是我的尝试;我尝试了 json parse 和 json stringify 但我得到未定义的错误或 Uncaught SyntaxError: Unexpected token o in JSON at position 1:
function createHtml(data){
var data = JSON.parse(data);
var html = '<h1>Data:</h1>';
for(var i = 0; i < data.length; i++) {
html += '<div class="item">';
html += '<div class="name">'+data[i].name+'</div>';
html += '</div>';
}
$('#datalist').html(html);
}
【问题讨论】:
-
No repro on:
Uncaught SyntaxError: Unexpected token o in JSON at position 1- 解析对我来说没问题,你确定这是你传递给函数的数据并且它是作为字符串传递的吗? -
数据已经是一个对象不要解析它(或字符串化它)
-
已经是对象就不需要解析了
-
你解析的是一个对象,而不是一个数组。应该是
for(var i in data); -
不完全是重复的,但this 应该是你第一个看到的地方,给出:SyntaxError: Unexpected token o in JSON at position 1
标签: javascript jquery