use*_*873 14 java android json
我正在使用google-api-client的youtube json:
{
"apiVersion": "2.0",
"data": {
"updated": "2011-01-05T13:48:33.146Z",
"totalItems": 4,
"startIndex": 1,
"itemsPerPage": 1,
"items": [
{
"id": "YfUzMkAlOBI",
"uploaded": "2010-12-29T16:50:47.000Z",
"updated": "2010-12-29T16:50:47.000Z",
"uploader": "devandroidcs",
"category": "Entertainment",
"title": "Teste 2",
"description": "Description do teste2",
"tags": [
"mobile"
],
"thumbnail": {
"sqDefault": "http://i.ytimg.com/vi/YfUzMkAlOBI/default.jpg",
"hqDefault": "http://i.ytimg.com/vi/YfUzMkAlOBI/hqdefault.jpg"
},
"player": {
"default": "http://www.youtube.com/watch?v\u003dYfUzMkAlOBI&feature\u003dyoutube_gdata_player",
"mobile": "http://m.youtube.com/details?v\u003dYfUzMkAlOBI"
}
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
此时我应该在我的parse java类中创建一个名为default的字段名.已完成此解析与其他字段一起工作,问题是,默认是私有java名称,所以我无法调用变量默认值.
我怎么能管理呢?
Jul*_*ian 24
我相信您的答案在于JSON字段命名支持:
Gson支持一些预定义的字段命名策略,以将标准Java字段名称(即以小写字母开头的驼峰名称---"sampleFieldNameInJava")转换为Json字段名称(即sample_field_name_in_java或SampleFieldNameInJava).
例如,参见以下示例:
private class SomeObject {
@SerializedName("custom_naming") private final String someField;
private final String someOtherField;
public SomeObject(String a, String b) {
this.someField = a;
this.someOtherField = b;
}
}
Run Code Online (Sandbox Code Playgroud)
所以你应该能够将字段映射定义为默认值,如下所示:
@SerializedName("default")
private final String someOtherNameThanDefault;
Run Code Online (Sandbox Code Playgroud)