Android JSON解析多个对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android JSON解析多个对象相关的知识,希望对你有一定的参考价值。

我有这样的JSON:

{
  "Temperature": {
    "Name": "Temperature",
    "Value": "26.19",
    "Unit": "C"
  },
  "Humidity": {
    "Name": "Humidity",
    "Value": "29.38%",
    "Unit": "%"
  }
}

我想将它保存到相同类型的对象列表中。这是我的班级:

public class Measurement {
    private String name;
    private String value;
    private String unit;

    public Measurement(String name, String value, String unit){
        this.name = name;
        this.value = value;
        this.unit = unit;
    }

    public String getName() {
        return name;
    }

    public String getValue() {
        return value;
    }

    public String getUnit() {
        return unit;
    }

    @Override
    public String toString(){
        return name + " = " + value + unit;
    }
}

我试过像这样的gson:

Type measurementListType = new TypeToken<ArrayList<Measurement>>(){}.getType();

List<Measurement> msm = new Gson().fromJson(json, measurementListType);

但这会给出错误

预计BEGIN_ARRAY但是BEGIN_OBJECT

如果JSON只是一个例子,它可以有任意数量的对象,但它们都必须遵循相同的结构。我怎样才能将它们解析成List?任何帮助是极大的赞赏。

答案

对于那个JSON,你显示的是一个对象数组,它需要被方括号括起来,如下所示:

[{
    "Temperature": {
        "Name": "Temperature",
        "Value": "26.19",
        "Unit": "C"
    },
    "Humidity": {
        "Name": "Humidity",
        "Value": "29.38%",
        "Unit": "%"
    }
}]

从那里你可以在数组中有一个或多个对象。

以上是关于Android JSON解析多个对象的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

如何从android中的url解析多个JSON对象和数组?我正在使用一个示例,我希望在该示例中使用它,

如何仅将一些选定的 Json 数组和 Json 对象从 Url 解析到 android 设备

Android studio解析json对象

如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表

如何在 Android 中解析 JSON 对象