JSON字符串是:
{
"translation": ["some words"],
"basic": {
"us-phonetic": "'flæbɚɡæstɪd",
"phonetic": "'flæbɚɡæstɪd",
"uk-phonetic": "'flæbəga:stid",
"explains": ["v. some words",
"adj. some words"
]
}
}
但是Java中没有"-"
的值。那么如何获得"us-phonetic"
?
答案 0 :(得分:9)
创建一个POJO
课程来代表您的JSON
并使用SerializedName
注释装饰您的字段。
gson
字段的名称和java字段的名称不同时, @SerializedName("json_name")
使用JSON
。
出于示例目的,我冒昧地简化了JSON
:
{
"us-phonetic": "'flæbɚɡæstɪd",
"phonetic": "'flæbɚɡæstɪd",
"uk-phonetic": "'flæbəga:stid"
}
使用以下类反序列化JSON:
public class Basic {
@SerializedName("us-phonetic")
private String usPhonetic;
@SerializedName("phonetic")
private String phonetic;
@SerializedName("uk-phonetic")
private String ukPhonetic;
}
要反序列化:
Basic b = gson.fromJson(json, Basic.class);