2013-03-24 101 views
1

我尝试使用谷歌翻译API这个页面上所显示的一个节点...选择JSON字符串

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

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

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

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

我会想返回只使用PHP文本,即 “喂世界报”。

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

+0

什么是您的PHP代码? – 2013-03-24 06:20:00

回答

4
$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; 
+0

这不会返回任何东西。但是print_r($ json-> data-> translations);返回Array([0] => stdClass Object([translatedText] => Hallo [detectedSourceLanguage] => en)) – shantanuo 2013-03-24 06:55:45

+0

编辑答案,translations是一个数组。 – flux 2013-03-24 07:10:25

0
$object = json_decode($yourJSONString); 
echo $object->data->translations->translatedText; 

一旦你使用json_decode(),你只需要使用生成的对象,但是你使用任何其他PHP对象。