【问题标题】:select a node from json string从 json 字符串中选择一个节点
【发布时间】:2013-03-24 06:18:02
【问题描述】:

我正在尝试使用此页面上显示的谷歌翻译 API...

https://developers.google.com/translate/v2/using_rest

当我替换我的 API 密钥时,它可以正常工作并显示如下所示的翻译文本。

获取https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&target=de&q=Hello%20world

{
    "data": {
        "translations": [
            {
                "translatedText": "Hallo Welt",
                "detectedSourceLanguage": "en"
            }
        ]
    }
}

我只想使用 PHP 返回文本,即“Hallo Welt”。

我使用了 json_decode 函数,但它返回了所有内容。

【问题讨论】:

  • 你的 PHP 代码是什么?

标签: php json


【解决方案1】:
$url = "https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&target=de&q=Hello%20world";
$data = file_get_contents($url);
$json = json_decode($data);

echo $json->data->translations[0]->translatedText;

【讨论】:

  • 这不会返回任何东西。但是 print_r($json->data->translations);返回 Array ( [0] => stdClass Object ( [translatedText] => 你好 [detectedSourceLanguage] => en ) )
  • 编辑了答案,翻译是一个数组。
【解决方案2】:
$object = json_decode($yourJSONString);
echo $object->data->translations->translatedText;

一旦您使用了json_decode(),您只需使用生成的对象,但您可以使用任何其他 PHP 对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    相关资源
    最近更新 更多