从JSON字符串中获取值

我有以下JSON字符串:

{"d":"{\"Foo\":7,\"Bar\":5,\"Foobar\":3}"} 

并在我的js文件中进行相应的调用:

 $.getJSON("Foo.svc/GetSomeFoo", function (response) { alert(response["Foo"]); alert(response["Bar"]); alert(response["Foobar"]); }); 

只是试图写出值,但似乎无法把它弄出来。 它可能很简单,但谷歌搜索时我找不到任何有用的东西。

您的JSON嵌入了JSON。 你需要这样做:

 var d = JSON.parse(response.d); alert(d.Foo); ... 

由于您有一个名为d的对象作为外部对象,因此您需要通过它获取数据。

例如: response.d["Foo"]

试试这个:

 alert(response.d["Foo"]); 

response给你: {"d":"{\"Foo\":7,\"Bar\":5,\"Foobar\":3}"}
response.d会给你: {\"Foo\":7,\"Bar\":5,\"Foobar\":3}
最后response.d["Foo"]response.d.Foo会给你: 7

你可以这样做 –

  alert(response.d.Foo);