1

所以我有这个 JSON

https://bitcoinpayflow.com/orders{"order":{"bitcoin_address":"1NwKSH1DJHhobCeuwxNqdMjK5oVEZBFWbk"}}

不,我想引用 bitcoin_address

所以首先我去掉开头的字符串

        var stripped = data.substring(33);
        alert(stripped);
                var btc = stripped.orders.bitcoin_address;
        alert(btc); 

我收到第一个警报,但不是第二个。知道为什么吗?

4

3 回答 3

2

因为stripped仍然只是一个字符串。您需要将其解析为一个对象。您可以使用本机JSON.parse方法执行此操作:

var stripped = JSON.parse(data.substring(33));

此外,您正在引用orders不存在的属性。是order

请注意,JSON.parse旧版浏览器不支持。你可以使用这个 polyfill来确保它始终可用。

于 2012-04-26T08:41:29.550 回答
1

解码json的最简单方法——字符串——使用eval

var bitcoins = eval('(' + json_string + ')');

和访问bitcoins['order']['bitcoin_address'] 但它有点不安全。上方法更安全。

于 2012-04-26T08:42:16.180 回答
1

我会使用 JSON.parse 如下。

$.post('php/whatever.php',{data:dS},function(res){
    var o=JSON.parse(res);
    var bitcoins=o.order.bitcoinaddress;
},"text");
于 2012-04-26T08:51:22.687 回答