pojo用无效的Java名称解析gson

问题描述

我相信您的答案在于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;
  }
}

因此,您应该能够将字段映射定义为默认值,如下所示:

@SerializedName("default")
private final String someOtherNameThanDefault;

解决方法

我正在使用来自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"
                }
.
.
.
}

在这一点上,我应该在我的解析java类中创建一个名为default的字段名称。已经完成了与其他字段的解析工作,问题是,default是一个私有Java名称,所以我不能调用一个变量default。

我该如何处理?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”