簡體   English   中英

在JSON / PHP中獲取特定值時遇到問題

[英]Having trouble getting a specific value in JSON/PHP

我正在嘗試從json編碼的字符串中提取單個數據。 我設法將字符串轉換為php的jason格式,但是我不明白如何顯示我想要的確切數據(確認),每次嘗試訪問任何數據時,它只會給我一個方括號({),而沒有數據。 我知道我在從變量中檢索數據時做錯了事,但是我無法直言不諱。

這是我要解析的數據,有人可以告訴我如何從數據數組中訪問確認值嗎? 謝謝。

https://projectbuilder.info/link.php?ID=jsontest&CMD=page )[更易於閱讀]

源代碼:

<?PHP
$return = file_get_contents("https://api.chain.com/v2/bitcoin/transactions/76e6f17cb940745255e2b8439eea5dae945a    b148f1fbba98a9fb99c9a5801320?api-key-id=ae7317a1cd4ff0d12e49a77bfd8b9dec");
var_dump(json_decode($return));
echo $return[0]["confirmations"]; //one of my many attempts to get the info, also tried without the leading zero, and different numbers. I understand arrays, I just dont understand how the json data is formatted inside the array.
?>

輸出副本(我如何用$ return獲得2896的確認值?):

object(stdClass)#1 (11) {
  ["hash"]=>
  string(64) "76e6f17cb940745255e2b8439eea5dae945ab148f1fbba98a9fb99c9a5801320"
  ["block_hash"]=>
  string(64) "00000000000000001646d024d4622a0e4a5c06299d7d776de041bc9c317be1f8"
  ["block_height"]=>
  int(329486)
  ["block_time"]=>
  string(20) "2014-11-11T02:10:21Z"
  ["chain_received_at"]=>
  string(24) "2014-11-11T02:05:48.259Z"
  ["confirmations"]=>
  int(2896)
  ["lock_time"]=>
  int(0)
  ["inputs"]=>
  array(2) {
    [0]=>
    object(stdClass)#2 (7) {
      ["transaction_hash"]=>
      string(64) "76e6f17cb940745255e2b8439eea5dae945ab148f1fbba98a9fb99c9a5801320"
      ["output_hash"]=>
      string(64) "4f7b6066396e422f1cabd60767093ec6fb4480b60f206c408ad50895541bc023"
      ["output_index"]=>
      int(0)
      ["value"]=>
      int(144475)
      ["addresses"]=>
      array(1) {
        [0]=>
        string(34) "1HPvAS96JXYUuLDs5CKNh61SvH6NJT1ykH"
      }
      ["script_signature"]=>
      string(213) "304602210087289ed01fd7d04e3c7eb5c38ea1944cbc3789658a1122610079a4f0421e2426022100fca6f5f4623bbac131f06ebdc7389ea0c76b4355da9508ecc7b02107385ee79d01 029a79a3cf6f8b90b7c1210e593a21e46c81ffbbe544eb2ab3ebbd89f33e4f8b2e"
      ["sequence"]=>
      int(4294967295)
    }
    [1]=>
    object(stdClass)#3 (7) {
      ["transaction_hash"]=>
      string(64) "76e6f17cb940745255e2b8439eea5dae945ab148f1fbba98a9fb99c9a5801320"
      ["output_hash"]=>
      string(64) "22de0dbb8d72fac9a6e8775f6f80fa3fc991c41d33fcd5081acb49c0479f2a62"
      ["output_index"]=>
      int(1)
      ["value"]=>
      int(7390022)
      ["addresses"]=>
      array(1) {
        [0]=>
        string(34) "158kR5o6EWWhFEZfLqGDvkgfoyi2Ep2fhA"
      }
      ["script_signature"]=>
      string(209) "304402205e2f36c9c22e02767e3accc8bc609b74d5a23c58e4a8edbac24cb4baf1e3feaa022043ad33becd57c5dee03fd1c1d8be1524281f6f49ba1e44a1a2b340f89554c42d01 031181694e14973f71d45f5f3ab73ee0f30dfa3f488bf53c44e46cf9f4f3d3d722"
      ["sequence"]=>
      int(4294967295)
    }
  }
  ["outputs"]=>
  array(2) {
    [0]=>
    object(stdClass)#4 (9) {
      ["transaction_hash"]=>
      string(64) "76e6f17cb940745255e2b8439eea5dae945ab148f1fbba98a9fb99c9a5801320"
      ["output_index"]=>
      int(0)
      ["value"]=>
      int(144475)
      ["addresses"]=>
      array(1) {
        [0]=>
        string(34) "1P5rwnk3GYbxgpxN9M9EziLrpvoih4c8JC"
      }
      ["script"]=>
      string(85) "OP_DUP OP_HASH160 f23e1f6dd21bab989f18c14f26bf37b4e2372eef OP_EQUALVERIFY OP_CHECKSIG"
      ["script_hex"]=>
      string(50) "76a914f23e1f6dd21bab989f18c14f26bf37b4e2372eef88ac"
      ["script_type"]=>
      string(10) "pubkeyhash"
      ["required_signatures"]=>
      int(1)
      ["spent"]=>
      bool(false)
    }
    [1]=>
    object(stdClass)#5 (9) {
      ["transaction_hash"]=>
      string(64) "76e6f17cb940745255e2b8439eea5dae945ab148f1fbba98a9fb99c9a5801320"
      ["output_index"]=>
      int(1)
      ["value"]=>
      int(7380022)
      ["addresses"]=>
      array(1) {
        [0]=>
        string(34) "1DpY5Mu2qTNkwsnPwgqFnaZ1Kq7GpKDboy"
      }
      ["script"]=>
      string(85) "OP_DUP OP_HASH160 8c9efff6e8500a36c16a939054a333d81ef23166 OP_EQUALVERIFY OP_CHECKSIG"
      ["script_hex"]=>
      string(50) "76a9148c9efff6e8500a36c16a939054a333d81ef2316688ac"
      ["script_type"]=>
      string(10) "pubkeyhash"
      ["required_signatures"]=>
      int(1)
      ["spent"]=>
      bool(true)
    }
  }
  ["fees"]=>
  int(10000)
  ["amount"]=>
  int(7524497)
}
{

看一下文檔: http : //php.net/json_decode

將json-string轉換為php-array並將其保存在變量中。 然后像使用其他數組一樣使用它從中獲取值。 像這樣:

$return = file_get_contents('http://etc.com/');
$decoded_return = json_decode($return);

echo $decoded_return['confirmations']; //Make sure the key exists, obviously

因此請記住,$ return是一個字符串。 json_decode函數返回一個數組,因此您必須將該數組保存在(新的-最好是)變量中才能從中獲取值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM