我目前正在使用 IBM 的 Watson 及其 Java SDK 来开发翻译器使用 Maven 导入,目前我很难弄清楚如何将翻译后的文本输出到文本框中。翻译结果返回给我:
[{
"translation": "Hello, World !"
}]
我认为我没有在代码中正确调用某些内容:
LanguageTranslation service = new LanguageTranslation();
service.setUsernameAndPassword("<username>", "<password>");
TranslationResult translationResult = service.translate(txt_input.getText(), "en", "fr");
txt_translation.setText(translationResult.getTranslations().toString());
我认为我没有在代码中正确调用某些内容。根据the documentation ,翻译后的文本作为翻译列表返回,但我不确定如何使其仅输出我输入内容的翻译。有什么建议吗?
编辑:我仍在努力解决这个问题。我试过:
java.util.List<Translation> translationText = translationResult.getTranslations();
txt_translation.setText(translationText.toString());
添加和不添加 toString() 都一样。仍然和之前一样。
最佳答案
translationResult.getTranslations()
返回 List<Translation>
,所以它是一个 Translation
的列表你应该迭代。例如,为了获得第一个翻译,您应该使用:
translationResult.getTranslations().get(0)
,返回Translation
,然后使用getTranslation()
为了获得翻译文本。
例如,第一语言的翻译应该可以通过以下方式获得:
translationResult.getTranslations().get(0).getTranslation()
关于java - 列表数组输出和 IBM 的 Watson Java SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35903209/