【发布时间】:2011-08-30 02:04:43
【问题描述】:
我一直在寻找与将 JSON 字符串转换为 Java 对象相关的示例,但没有找到任何好的示例。我发现的那个真的很基础,并没有真正处理复杂的 JSON 字符串。
我正在制作一个应用程序,使用谷歌翻译 api 将字符串从英语翻译成不同的语言。 Google 对查询的响应是...以下文本采用 JSON 格式,
{"data":{"translations":[{"translatedText":"Bonjour tout le monde"}]}}
到目前为止,我的方法是使用 GSON API,但实际上我应该如何操作这个复杂的结果并创建 java 对象?
我的 java 类是...
import com.google.gson.Gson;
public class JSONConverter {
private String traslatedText;
/**
* Create an object of it self by manipulating json string
* @param json type: String
* @return String Translated text result from JSON responce
*/
public String getTranslation(String json){
Gson gson = new Gson();
JSONConverter obj = gson.fromJson(json, JSONConverter.class);
return obj.getTranslationForReturn();
}
/**
* Method return a translation to a private call
* @return String translation
*/
private String getTranslationForReturn(){
return this.traslatedText;
}
}
上述方法不起作用,因为我在返回时没有得到“Bonjour tout le monde”,
如果有人能扩展我的理解,那将是非常高兴的。
【问题讨论】:
-
你得到了一个 json 字符串,对吧?您还需要定义变量。然后您可以执行类似 obj.translation 的操作来获取实际翻译。我以前从未在 java 中处理过 json,所以我真的不知道您将如何定义该变量。查看您提供的链接中的示例 2。虽然你拥有的字符串是嵌套的,但我真的不知道 gson 会如何解析它。
-
这个问题看起来像是重复的:stackoverflow.com/questions/1395551/…
标签: java android json api gson