Java使用百度翻译api

       闲话不多说,进入正题,想要使用百度翻译api必须先注册一个帐户,申请官方授权,注册官网如下:

        http://api.fanyi.baidu.com/api/trans/product/index

        申请成功后下载java版demo,其实就是一个工程文件


Java使用百度翻译api_第1张图片

  

  下载好之后将工程文件导入eclipse,导入工作很简单,实在不会    参考这篇文章

     导入成功后,在Main类中将变量 APP_ID ,SECURITY_KEY  设为你申请到的APP ID与密匙

    APP ID与密匙在开发者信息里找


Java使用百度翻译api_第2张图片


   

 填入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"}]}

    各个字段对应的内容如下表:


Java使用百度翻译api_第3张图片


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)