Java开发基于百度翻译API的应用-gson获取json数据

来源:互联网 发布:优盘 启动 windows pe 编辑:程序博客网 时间:2024/06/10 03:07

1.百度翻译工具包的下载

以下是提供两个百度翻译翻译的工具包下载地址:

1.百度翻译开发者平台:http://appcdn.fanyi.baidu.com/api/demo/java.zip

2.csdn的百度翻译工具包:http://download.csdn.net/download/hookjony/9957737

备注:经过本人测试,百度翻译官网下载下来的可能有问题——MD5 类有错误,所以大家可以到本人上传的第2个资源链接中下载需要使用的工具类。因为CSDN不在具有免费的资源下载,所以大家还是需要给我贡献小小的1积分,再此谢谢大家。


2.百度翻译API——新建项目以及各个包文件的导入

1.gson 包的下载

gson 包的下载:http://download.csdn.net/download/hookjony/9957777

2.新建项目并且导入百度翻译工具包

新建java项目

新建完成之后可以直接下载下来的百度翻译工具包下的com文件夹导入到项目中(或者将com文件夹拖入到src目录下),本文导入项目再次不在一一赘述,因为更加方便打方式是可以拖入。


3.导入gson包以及json包

在项目下新建文件夹libs,并且将gson包以及json包导入libs目录下,如果需要看源码,请导入各自的源码即可。(笔者建议大家导入源码,方便大家学习)

导入后的目录结构如下:
项目目录结构


3.编写Main函数

package com.baidu.translate.test;import java.util.Scanner;import com.baidu.translate.demo.TransApi;import com.google.gson.Gson;public class Main {    private static final String APP_ID = ""; // your ID    private static final String SECURITY_KEY = "";  //your key    public static void main(String[] args) {        // TODO Auto-generated method stub        TransApi api = new TransApi(APP_ID, SECURITY_KEY);        String query = "";        //通过Scanner工具类完成用户输入        System.out.println("请输入需要翻译的语句(all->English):");        Scanner scanner = new Scanner(System.in);        query = scanner.nextLine();        //通过api将语句转化为json 数据        String json = api.getTransResult(query, "auto", "en");        //通过gson解析        Gson gson = new Gson();        TranslateData data = gson.fromJson(json,TranslateData.class);        String dst = data.getTrans_result().get(0).getDst();        System.out.println(dst);    }}

上述函数的APP_ID 以及SECURITY_KEY 需要到百度开发者平台申请

百度翻译开发者平台:http://api.fanyi.baidu.com/api/trans/product/index


4.解析Json数据的类

1.TranslateData 类

package com.baidu.translate.test;import java.util.List;public class TranslateData {    String from;    String to;    List <TranslateResult> trans_result;    public String getFrom() {        return from;    }    public void setFrom(String from) {        this.from = from;    }    public String getTo() {        return to;    }    public void setTo(String to) {        this.to = to;    }    public List<TranslateResult> getTrans_result() {        return trans_result;    }    public void setTrans_result(List<TranslateResult> trans_result) {        this.trans_result = trans_result;    }    @Override    public String toString() {        return "TranslateData [from=" + from + ", to=" + to + ", trans_result=" + trans_result + "]";    }}

2.TranslateResult 类

package com.baidu.translate.test;public class TranslateResult {    String src;    String dst;    public String getSrc() {        return src;    }    public void setSrc(String src) {        this.src = src;    }    public String getDst() {        return dst;    }    public void setDst(String dst) {        this.dst = dst;    }    @Override    public String toString() {        return "TransalateResult [src=" + src + ", dst=" + dst + "]";    }}

3.最终项目目录结果

项目目录

阅读全文
0 0