当前位置: 首页 > 知识库问答 >
问题:

在检索修改2.0中的JSON字段时出错[重复]

毋举
2023-03-14

我有个问题。我正在使用Reformation 2.0从我的Android应用程序调用我的api。一切正常,但当我收到一个空字段时,我会出现以下错误:

应为BEGIN_对象,但在第1行第8599列path$处为BEGIN_数组。元。标页码链接

问题是与链接字段有时是不是空

"links": {
    "next": "http://www.example.com,
 }

但当它为空时,就会出现错误。我的问题是,当链接字段为空时,我该如何处理?

这是我的全部回应:

{
    "data": [
        {
        .....
        }
    ],      
    "meta": {
        "pagination": {
            "total": 50,
            "count": 50,
            "per_page": 60,
            "current_page": 1,
            "total_pages": 1,
            "links": []
        }
    }
}

这是我的POJO课程:

public class ListResponse<O> {

@SerializedName("data")
private List<O> lista;
@SerializedName("meta")
private Meta meta;

public List<O> getLista() {
    return lista;
}
public String getNext() { return meta.getPagination().getLinks().getNext(); }
public int getTotal() { return meta.getPagination().getTotal(); }

public class Meta {

    @SerializedName("pagination")
    Pagination pagination;

    public Pagination getPagination(){  return pagination; }

    public class Pagination{

        @SerializedName("total")
        int total;
        @SerializedName("count")
        int count;
        @SerializedName("per_page")
        int per_page;
        @SerializedName("current_page")
        int current_page;
        @SerializedName("total_pages")
        int total_pages;
        @SerializedName("links")
        Links links;

        public int getTotal() {
            return total;
        }

        public Links getLinks() {
            return links;
        }

        public class Links {
            @SerializedName("next")
            String next;

            public String getNext() {
                return next;
            }
        }

    }
}

共有1个答案

阮俊弼
2023-03-14

我建议使用JsonDeserializer。这里可以找到一些示例用法

 类似资料:
  • 问题内容: 我在尝试使用 JasperReports 从Java生成报告时遇到问题,但出现错误。 堆栈跟踪: 问题答案: 你的豆长什么样?导致此错误的一个可能原因是您没有该字段的吸气剂。吸气剂必须遵守Java标准格式,因此您认为我愿意。吸气剂也必须是。

  • 我正在尝试使用stream builder检索数组“类”,如下图所示。我尝试使用未来构建器进行相同的尝试,但没有从之前提出的问题中找到正确的解决方案。如何检索类列表并在listview中显示? 当我将鼠标悬停在['fields']上时,错误出现在< code > snapshot . data[' fields '][' class '][position]处,显示: 参数类型“String”不能

  • Im在JSON数据的第1行第1列获得未捕获的SyntaxError:JSON.parse:意外字符 下面是JSON文件中的数据示例。 我如何在JS中从这个JSON文件中检索数据? 这样写一个JSON是不是不可能的? 当我在浏览器中打开文件时,它看起来像一个整洁的JSON数组?

  • 我有拒绝。用户选择他们喜欢的主题的“类别”。 我试图得到最受欢迎的类别,因为它的动态。 在SQL中,可以使用诸如ORDER BY之类的内容。

  • 我目前正在学习一些关于elasticsearch的知识,现在我试图从searchResponse中获取特定的字段,我使用以下代码: 所以我想问的是我如何从所有这些数据中获得特定的字段,我的数据库由ElasticSearch文档中的Shakespeare.json aviable组成,并且是这样形成的 这些是我使用的参数,以防有人感兴趣 这就是在浏览器中看到响应的方式,任何答案或提示或任何东西都被很

  • 我试图在我的项目中使用ActionBarActivity。我已经按照https://developer.android.com/tools/support-library/setup.html#中的说明将android-support-v7-appcompat导入到工作区 我可以将appcompat项目作为库添加到当前项目(eclipse)中。 现在我使用下面的import语句时没有错误。 附:我