我有一个我通过HTTP请求传递的字符串。但是我无法从中获得价值。字符串如下:
var a = {"health":"img/biking_cropped.jpg","budget":"img/hip_cropped.jpg","culture":"img/old_museum_cropped.jpg"}
然而,我无法获得健康的价值,因为a.health给出了undefined。但是[0]只给出{返回。使用JSON.parse会崩溃运行它的服务器。
答案 0 :(得分:0)
此处a
是一个对象
除了使用a.health
等等,您还可以使用for .in
获取密钥及其值;
var a ={
"health":"img/biking_cropped.jpg",
"budget":"img/hip_cropped.jpg",
"culture":"img/old_museum_cropped.jpg"
}
for(var keys in a){
document.write('<pre>'+keys + '--'+a[keys]+'<pre>')
}
选中此jsfiddle
您还可以使用dot(.)
或bracket []
表示法来获取密钥的值。
可能你正在尝试[关键]。例如a['health']
答案 1 :(得分:0)
您需要选择值并将值赋给变量。您可以使用点符号。或括号表示 []
var a = {"health":"img/biking_cropped.jpg","budget":"img/hip_cropped.jpg","culture":"img/old_museum_cropped.jpg"};
var health = a['health'];
var budget = a.budget;
var culture = a.culture;
console.log(health + "---- " + budget + " ---- " + culture)
// img/biking_cropped.jpg---- img/hip_cropped.jpg ---- img/old_museum_cropped.jpg
答案 2 :(得分:0)
使用JSON解析器。有很多JSON解析器。
答案 3 :(得分:0)
a [0]返回&#34; {&#34;是整个json对象是一个字符串。
var a = "abc";
console.log(a[0]); // Prints a
typeof a; //prints "string"
var b = {};
typeof b; //prints "object"
检查&#34; typeof&#34;变量。它应该是一个对象vs字符串。