首页 > 代码库 > php处理json码 实例:PHP实现百度翻译API调用处理

php处理json码 实例:PHP实现百度翻译API调用处理

今天给一个小程序写后台,通过调用百度翻译API实现翻译功能。

调用百度API的url为‘http://openapi.baidu.com/public/2.0/translate/dict/simple?client_id=你的KEY&q=要查的汉语&from=zh&to=en‘;

申请步骤详见点击打开链接

以上是前期准备工作

===================================================================================================

通过调用百度翻译的API穿回的json为:{"errno":0,"data":{"word_name":"\u4f60\u597d","symbols":[{"ph_zh":"n\u01d0 h\u01ceo","parts":[{"part":"","means":["hello","hi","How do you do!"]}]}]},"to":"en","from":"zh"}‘

这里眼力不好的同学可以格式化一下字符串

{
	"errno":0,
	"data":{
		"word_name":"\u4f60\u597d",
		"symbols":[	
			{"ph_zh":"n\u01d0 h\u01ceo",
			"parts":[
				{"part":"",
				"means":[
					"hello",
					"hi",
					"How do you do!"
					]
				}
				]
			}]
		},
		"to":"en",
		"from":"zh"
}

关键语句:json_decode($jsonResult)->data->symbols[0]->parts[0]

也怪我太笨了,就这么一条语句折腾了我一晚上……基础太重要了!!!

通过这一步获取到了

{"part":"",
				"means":[
					"hello",
					"hi",
					"How do you do!"
					]
				}

下一步通过
	$jsonObj->means[0]
	$jsonObj->means[1]
	$jsonObj->means[2]
分别获取“你好”的3个释义。

实际操作中可以通过循环语句获取全部的释义。

下面是全部代码

<?php
	$word=$_GET['s'];
    $url='http://openapi.baidu.com/public/2.0/translate/dict/simple?client_id=你的KEY&q='.$word.'&from=zh&to=en';
	$jsonResult=file_get_contents($url);
	$jsonObj=json_decode($jsonResult)->data->symbols[0]->parts[0];
	echo  $jsonObj->means[0].'<br />';
	echo  $jsonObj->means[1].'<br />';
	echo  $jsonObj->means[2].'<br />';
?>
输入  url?s=你好
运行结果

技术分享

php处理json码 实例:PHP实现百度翻译API调用处理