2016-04-13 10 views
1

エコー私は以下のコードは動作しませんPHP JSONエンコード値

{ 
    "expand":"names", 
    "startAt":0, 
    "maxResults":50, 
    "total":1, 
    "issues":[ 
     { 
     "expand":"example", 
     "id":"129018", 
     "self":"https://example.com", 
     "key":"914", 
     "fields":{ 
      "summary":"Hello there" 
     } 
     } 
    ] 
} 

「要約」の値をエコーする必要があります。

$array_result = json_decode($run_curl, true); 
    $title = $array_result['issues']['fields']['summary]; 

私はここで間違って何をしているのですか?私はそれがシンプルで分かりやすいとかなり確信しています。

+0

を、あなたはそれをインデックスを与えるべきではないのですか?多分、 '$ title = $ array_result ['issues'] [0] ['fields'] ['summary];' – avip

+0

これはjson_decodeの後のオブジェクトなので、オブジェクトのようにアクセスする必要があります。 –

+0

@FrayneKonok彼は 'json_decode'の2番目のパラメータとして真実を渡しました – avip

答えて

0

私はtrueと呼ばれるものがjson_decode($json, true);に恋しいです。

それはその後、使用trueの場合:echo $array_result[issues][0][fields][summary];

Online link、これは、あなたがそれを確認することができ、オンラインでのリンクです。

$json = '{ 
    "expand":"names", 
    "startAt":0, 
    "maxResults":50, 
    "total":1, 
    "issues":[ 
     { 
     "expand":"example", 
     "id":"129018", 
     "self":"https://example.com", 
     "key":"914", 
     "fields":{ 
      "summary":"Hello there" 
     } 
     } 
    ] 
}'; 

JSONデコード

あなたがjson_decodeを使用して起動するとアクセスアレイにあなたが->記号を使用する必要があるので、この関数は、オブジェクトとしていくつかの配列になります。

$array_result = json_decode($json); 
echo '<pre>'; 
print_r($array_result); 
echo '</pre>'; 
echo $array_result->issues[0]->fields->summary; 

出力

デコード配列:

stdClass Object 
(
    [expand] => names 
    [startAt] => 0 
    [maxResults] => 50 
    [total] => 1 
    [issues] => Array 
     (
      [0] => stdClass Object 
       (
        [expand] => example 
        [id] => 129018 
        [self] => https://example.com 
        [key] => 914 
        [fields] => stdClass Object 
         (
          [summary] => Hello there 
         ) 

       ) 

     ) 

) 

こんにちは

2

issuesは、このようなインデックスを渡し、配列です。

$title = $array_result['issues'][0]['fields']['summary'];

注:[0]に注意してください。

+0

@Pangおっと、OPの例から私はC&P、今修正、ありがとう:) – avip

0

問題リストであるあなたが最初の要素を取得する0 =キーを追加する必要がありますので、: `issues`が配列の場合

$title = $array_result['issues'][0]['fields']['summary']; 
関連する問題