Java调用有道翻译 - 对国家名称由英文翻译为中文

这个接口为免费的

  @Autowired
  SmsCountryService countryService;

  @Test
  public void updateZhName(){
    // 有道翻译接口
    String url = "http://fanyi.youdao.com/openapi.do?keyfrom=xinlei&key=759115437&type=data&doctype=json&version=1.1&q=";
    // 查询出所有的英文国家名字
    List<SmsCountry> countries = countryService.queryAllName();
    // httpclient
    CloseableHttpClient client = HttpClientBuilder.create().build();
    // 翻译每个国家的名字,并且更新数据库
    for (SmsCountry country:countries) {
      HttpGet request = new HttpGet(url + URLEncoder.encode(country.getName()));
      try {
        CloseableHttpResponse response = client.execute(request);
        String str = EntityUtils.toString(response.getEntity(), "utf-8");
        JSONObject jsonObject = JSON.parseObject(str);
        // 取出json字符串中数组的值
        String s = (String) jsonObject.getJSONArray("translation").get(0);
        System.out.println(">>>>> " + s);
        if (!StringUtil.isEmpty(s)){
        SmsCountry smsCountry = new SmsCountry();
        smsCountry.setId(country.getId());
        smsCountry.setNameZh(s);
        countryService.updateNameById(smsCountry);
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 没有谁是天生无敌自信的,那些看上去胸有成竹的人,往往都是多年历练出来的。借助本文提到的10种方法,你也能够培养出不...
    练功房阅读 2,701评论 0 0
  • Amma的身边的一个红袍大和尚Swami讲的一个故事: 一些年前,Amma和一群人在印度巡回, 一天,在一个很莫名...
    绍然Will阅读 4,001评论 0 4
  • 2017年167期3D鑫鑫预测 和值:15.16.18. 六码组合:124678 五码组合:24678 百位:12...
    eb50d8ec7ef0阅读 5,196评论 0 5
  • 数据宽度 整数的边界 计算机中存储的整数超出边界,会被丢弃。 几个重要的计量单位 BYTE 字节 8BI...
    FX喂你袋盐阅读 2,271评论 0 0
  • 给爸爸 今年的中秋节 阳光明媚 我和老刘回家看望爸妈 车停在楼门外 爸爸笑着迎出来 得意地说 从早上...
    琥珀色的眼阅读 903评论 1 2