我有一个json字符串,其数据如下:
description: { "en" : "english desc", "es": "spanish description" }
此字段位于我的Item类中,但它是一个字符串:
class Item
private String description;
我正在使用GSON来解析这个Json。我收到错误,因为Json字符串中的数据不是字符串。它是一个JSON对象。
我应该给出一个默认语言的参数(例如en),它应该被解析为:
description = "english desc"
我该怎么做?
答案 0 :(得分:0)
描述应该是一个复合对象,它根据您的输入字符串包含en和es字符串字段。 参考例如。
import com.google.gson.Gson;
public class Demo1 {
class Item {
Description description;
public Description getDescription() {
return description;
}
public void setDescription(Description description) {
this.description = description;
}
@Override
public String toString() {
return "Item [" + description + "]";
}
class Description {
String en;
String es;
public String getEn() {
return en;
}
public void setEn(String en) {
this.en = en;
}
public String getEs() {
return es;
}
public void setEs(String es) {
this.es = es;
}
@Override
public String toString() {
return "Description [en=" + en + ", es=" + es + "]";
}
}
}
public static void main(final String[] args) {
String json = "{ description: { \"en\" : \"english desc\", \"es\": \"spanish description\" } }";
Gson gson = new Gson();
Item i = gson.fromJson(json, Item.class);
System.out.println("item:" + i);
}
}