java - Gson 为嵌套对象返回 null
问题描述
实际上,我尝试在我的代码上实现如此基本的东西。我有一个 json 文件。然后我想读取这个 json 文件并将其转换为 Java 对象。为了处理它,我使用了 gson 但不知何故它为嵌套对象返回 null。
杰森:
{
"results": {
"ads-result": {
"data": [
{
"id": "1"
}
]
}
}
}
测试JSON:
@Getter
public class TestJson
{
private ResultsData results;
@Getter
public static class ResultsData
{
@JsonProperty(value = "ads-result")
private AdsResultData adsResult;
}
@Getter
public static class AdsResultData
{
private List<AdApp> data;
}
@Getter
public static class AdApp
{
private long id;
}
}
最后我尝试从 json 文件中读取它:
public static TestJson getDefaultAdResult() throws Exception
{
String json = IOUtils.toString(
getResourceAsStream("test.json"), StandardCharsets.UTF_8);
return new Gson().fromJson(json, TestJson.class);
}
但在它结束时,当我尝试达到它时,System.out.println(resultJson.getResults().getAdsResult());
它给出了 null。有什么建议吗?
解决方案
您正在混合 Jackson 和 Gson 注释。
进行此更改:
// @JsonProperty(value = "ads-result") - Jackson
@SerializedName("ads-result") // Gson
private AdsResultData adsResult;
推荐阅读
- twitter-bootstrap - 如何为容器 Bootstrap 设置固定宽度百分比?
- reactjs - gitlab react docker:找不到npm
- sql - SQL Server - STRING_AGG 分隔符作为条件表达式
- ruby-on-rails - ActionController::ParameterMissing in ArticlesController#search
- android - 为什么我的 SMS 应用程序没有发送到正确的号码?
- java - 将 Onclick() 添加到 ArrayList 中的项目
- ios - CollectionView 单元格意外行为迅速
- css - jQuery 可排序项目浮动右排序不平滑问题
- apache-spark - 使用 (Py)Spark 对直方图进行聚类以减少数据
- javascript - 将未设置的属性设置为函数中的默认属性?