2

重複の可能性:
JSONをUTF-8文字列に変換する

私は長期使用のためにいくつかのTwitterフィードをキャッシュすることに取り組んでいます。検索の結果、次のタイプのデータ構造が生成されます。

"results": [
{
  "created_at": "Sun, 08 Apr 2012 18:31:04 +0000",
  "entities": {
    "hashtags": [
      {
        "text": "cheeringfor",
        "indices": [
          54,
          66
        ]
      }
    ],
    "urls": [

    ],
    "user_mentions": [
      {
        "screen_name": "BenSpies11",
        "name": "Ben Spies",
        "id": 32124771,
        "id_str": "32124771",
        "indices": [
          0,
          11
        ]
      }
    ]
  },...

この出力のハッシュタグセクションをデータベーステーブルに含めようとしていますが、プレーン文字列として保存しようとしています。

文字列としてキャストしようとしましたが、(string)$result->hashtags文字列エラーに変換できません。また、動作したserialize()関数を試しましたが、シリアル化を解除してオブジェクトを取り戻そうとすると、phpエラーが発生しました。

4

2 に答える 2

7

まず、phpのjson_decode関数を調べます。JSON文字列をデータ構造に変換すると、次のようにハッシュタグを検索できるようになります。

$data = json_decode($jsonstring, true);
$hashtags = $data['results'][0]['entities']['hashtags']; // this will be an array

私はそれをテストしていませんが、それは正しいと思います。正確に正しくない場合は、json_decode()についてここで読むことができます:http://php.net/manual/en/function.json-decode.php

于 2012-04-10T15:10:51.113 に答える
1

構文に従って、ハッシュタグ文字列を出力するには、次のように記述します。

$result = json_decode($your_json);
echo $result->results[0]->entities->hashtags[0]->text;
于 2012-04-10T15:24:30.967 に答える