Java使用百度翻译api
? ? ? ?閑話不多說,進入正題,想要使用百度翻譯api必須先注冊一個帳戶,申請官方授權,注冊官網如下:
????????http://api.fanyi.baidu.com/api/trans/product/index
????? ? 申請成功后下載java版demo,其實就是一個工程文件
??
? 下載好之后將工程文件導入eclipse,導入工作很簡單,實在不會? ? 參考這篇文章
??? ?導入成功后,在Main類中將變量?APP_ID ,SECURITY_KEY? 設為你申請到的APP ID與密匙
? ? APP ID與密匙在開發者信息里找
? ?
?填入id與密匙就能直接使用了,
? ? 我們要用到的是TransApi 類中的?getTransResult(String A, String B, String C)方法,A是需要翻譯的內容,B是翻譯源語言,C是譯文語言。自動對應的是 "auto",中文對應"zh",英文對應"en",譯文語言不能設為自動,其他語言簡寫可以到官網上自行查找。
? ? 函數返回結果是josn字段,結構如下
????{"from":"zh","to":"en","trans_result":[{"src":"\u9ad8\u5ea6600\u7c73","dst":"Height of 600 meters"}]}
? ? 各個字段對應的內容如下表:
josn感興趣的同學自行了解一下,我們這里只講如何從中提取出我們需要的信息
解析json有很多種方法,這里用的是googol的gson來解析
使用gson需要下載gson的jar文件,大家可以自行到網上下載
或者通過網盤下載。鏈接:https://pan.baidu.com/s/1z0ZgjwVAVPpfNEIs7AKFeA 密碼:71j1?
下載后將jar文件導入項目中,不會的自行百度一下
后面的內容直接貼代碼把:
????TransApi api = new TransApi(APP_ID, SECURITY_KEY);String query = "高度600米";String str = api.getTransResult(query, "auto", "en");????//中文翻譯英文System.out.println(str);????//輸出結果,即json字段JsonObject jsonObj = (JsonObject)new JsonParser().parse(str);????//解析json字段String res = jsonObj.get("trans_result").toString();????//獲取json字段中的 result字段,因為result字段本身即是一個json數組字段,所以要進一步解析JsonArray js = new JsonParser().parse(res).getAsJsonArray();????//解析json數組字段jsonObj = (JsonObject)js.get(0);????//result數組中只有一個元素,所以直接取第一個元素System.out.println(jsonObj.get("dst").getAsString());????//得到dst字段,即譯文,并輸出json字段:{"from":"zh","to":"en","trans_result":[{"src":"\u9ad8\u5ea6600\u7c73","dst":"Height of 600 meters"}]}
大致用法如上,其中的類和方法想要深究還請自行了解
tip:? ? 關于百度給的為什么是工程文件而不是jar文件的問題,我想應該是每個用戶用的id 和 key不一樣,所以需要自行修改。然后導出成jar文件,以后用的時候將jar文件導入需要用的工程中即可
總結
以上是生活随笔為你收集整理的Java使用百度翻译api的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt+opencv二值化
- 下一篇: Java英文单词翻译(API文档,IDE