0

JSON

[
  {
    "kind": "Listing"
  },
  {
    "kind": "Listing",
    "data": {
      "children": [
        {
          "data": {
            "body": "body1"
          }
        },

        {
          "data": {
            "body": "body2"
          }
        }
      ]
    }
  }
]

ループしたい部分: [{first set of values},{data->children->data->body}

その最後の体は、私が掴みたい部分です。他にも複数のセットがあり、各「本文」は、reddit の子なしの個別のコメントを表します。

4

2 に答える 2

0

有効な Json 文字列を PHP オブジェクトおよび配列の形式で PHP 変数にデコードするには、json_decode関数を使用できます。

PHP 変数 (特に配列とオブジェクト) 内の値をループするには、foreach.

深いツリーでループしたい値を見つけるのに問題がある場合は、を参照してください。

しかし、あなたはJson 文字列の実際の問題が何であるかを伝えていないので、この一般的な形式でしか答えることができません。

于 2012-11-04T11:01:06.890 に答える
0

json_decodeで json をオブジェクトに変換し、ループします。

<?php 
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.reddit.com/r/indie/comments/zc0lz/.json");
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
$json = curl_exec($curl);
curl_close($curl);
//decode the json
$json_obj = json_decode($json);
//loop the result set(array) and access the data->children sub array.
foreach($json_obj as $v){
    foreach($v->data->children as $d){
        if(isset($d->data->body)){
            echo $d->data->body.'<br />'.PHP_EOL;
        }
    }
}

/*
Is anyone else bored with this? The first album was good for the moment it existed in, but the has since passed. It just seems their sound didn't mature very well.<br />
Yeah, from the songs I had heard, this album missed it. Too similar and not as exciting.<br />
half the album is just as amazing as the first. half is kind of dull<br />
Got this album today, maybe 2 decent-ish songs, but it sounds like they have tried to copy some of the sounds from the album way too closely. Real shame. 4/10<br />
If the player doesn't work, refresh the page and try again. You can also use the NPR link!<br />
Loved the sound of the first album, and I'm kind of happy they've not strayed to much away from this. Have to agree that it seems to be missing the 'awesomeness' that made the first songs so enjoyable to listen to.<br />
*/
?>
于 2012-11-04T09:01:12.297 に答える