2

私はちょうどdataから取得しようとしています

{
    "data": [{
        "media_count": 3045,
        "name": "snow",
    },
    {
        "media_count": 79,
        "name": "snowman",
    },
    {
        "media_count": 40,
        "name": "snowday",
    },
    {
        "media_count": 29,
        "name": "snowy",
    }]
}

私は試してみました:

$obj = json_decode($res[0], true);
echo $obj['data']; //this returns an array

私もこれを試しました:

$obj = json_encode($res[0], true);
echo $obj; // this returns json, but not inside `data`

"data": [{
"media_count":54373,
"name":"test"
}]

中に入りたいだけですdata。どうすればいいですか?

前もって感謝します!

更新:申し訳ありませんが、これをjson形式でお願いします

結局、私は見たいだけです

{
    "media_count":54373,
    "name":"test"
}

チアトのようなもの

4

3 に答える 3

2

必要なものを取得するために使用json_encode()します。

$obj = json_decode($res[0], true);
echo json_encode($obj['data']);
于 2012-06-07T05:55:41.847 に答える
1

最初の例で$obj['data']は、JSONの設定方法であるため、配列を返します。JSONによると、データは要素のコレクションです。

アレイ内にアクセスするには、次のようにします。

foreach($obj['data'] as $object) {
    print_r($object);
}

必要に応じてインデックスを作成することもできます。

print_r($obj['data'][0]);

編集

正しければ、最初のJSONを次のように変換します。

"data": [{
"media_count":54373,
"name":"test"
}]

その場合、2番目のフラグメントは有効なJSONではないため、これは不可能です。(http://jsonlint.comを使用)

于 2012-06-07T05:50:22.690 に答える
0

まず、json配列のデータ項目にアクセスします。

    $obj1=$obj[item];
    $sizeobj=sizeof($obj1);

    for($i=0;$i<$sizeobj;$i++)
{
// your code to access the data items
// for eg $obj[item][$i][media_count}
}
于 2012-06-07T05:51:43.800 に答える