从(JSON)字符串中获取值

时间:2016-06-01 09:17:53

标签: javascript json node.js

我有一个我通过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会崩溃运行它的服务器。

4 个答案:

答案 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

这是一个代码链http://codepen.io/anon/pen/LZEjme

答案 2 :(得分:0)

使用JSON解析器。有很多JSON解析器。

http://www.json.org/

答案 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字符串。