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
        ]
      }
    ]
  },...

我正在尝试将此输出的主题标签部分包含在我的数据库表中,但我正在尝试将其保存为纯字符串。

我尝试将其转换为字符串 i:e(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 回答