小编Neo*_*one的帖子

将动态序列化名称与 gson 匹配

我正在解析维基百科 API 数据,但不知道如何处理每个新搜索请求的序列化名称的更改。它始终是“pages”数组的第一项 (1156934)。我正在使用 Q204873 wiki 数据代码发出请求来获取页面标题,例如“碳酸铵”。但我在请求之前不知道维基百科 pageID (1156934)。

维基百科回应

此响应 URL 查询


我的 gson 模型有明显的问题(1156934 适合这里,但当我在新的搜索查询期间使用不同的 wikidata Q 代码发出请求时,它会发生变化):

public class WikiPageList {

@SerializedName("WikiPage") //PROBLEM
private WikiPage wikiPage;

public void setWikiPage(WikiPage wikiPage){
    this.wikiPage = wikiPage;
}

public WikiPage getWikiPage(){
    return wikiPage;
}

@Override
public String toString(){
    return 
        "WikiPageList{" +
        "WikiPage = '" + wikiPage + '\'' +
        "}";
    }
Run Code Online (Sandbox Code Playgroud)

}


如何仅反序列化页面数组的第一项?我还可以提供多个 Q 代码来接收多个标题,但如何为每个数组项使用相同的 gson 模型?

arrays android json wikipedia-api gson

2
推荐指数
1
解决办法
2902
查看次数

在以下任何来源中均未找到插件 [id: 'com.google.gms.google-services']

我在项目 gradle 中使用此版本没有错误

classpath 'com.google.gms:google-services:4.3.5'
Run Code Online (Sandbox Code Playgroud)

但是当我更改为4.3.7 时

Plugin [id: 'com.google.gms.google-services'] was not found in any of the following sources:

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'com.google.gms.google-services'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (plugin dependency must include a version number for …
Run Code Online (Sandbox Code Playgroud)

android google-play-services android-gradle-plugin

0
推荐指数
1
解决办法
1114
查看次数