android - 如何使用 GSON 解析此 JSON 数据?并将其放入 ArrayList

标签 android json parsing mongodb gson

我正在尝试解析来自 MongoDB 云服务器的数据。我的服务器返回的JSON数据如下:

[
{
    "_id": {
        "$oid": "4e78eb48737d445c00c8826b"
    },
    "message": "cmon",
    "type": 1,
    "loc": {
        "longitude": -75.65530921666667,
        "latitude": 41.407904566666666
    },
    "title": "test"
},
{
    "_id": {
        "$oid": "4e7923cb737d445c00c88289"
    },
    "message": "yo",
    "type": 4,
    "loc": {
        "longitude": -75.65541383333333,
        "latitude": 41.407908883333334
    },
    "title": "wtf"
},
{
    "_id": {
        "$oid": "4e79474f737d445c00c882b2"
    },
    "message": "hxnxjx",
    "type": 4,
    "loc": {
        "longitude": -75.65555572509766,
        "latitude": 41.41263961791992
    },
    "title": "test cell"
}

]

我遇到的问题是返回的数据结构不包括 JSON 对象数组的名称。返回的每个对象都是一个“帖子”。但是,如果没有 JSON 对象数组的名称,我该如何使用 GSON 解析它。我想将这些“帖子”放入 Post 类型的 ArrayList 中。

最佳答案

您正在寻找的代码 fragment :

String jsonResponse = "bla bla bla";
Type listType = new TypeToken<List<Post>>(){}.getType();
List<Post> posts = (List<Post>) gson.fromJson(jsonResponse, listType);

关于android - 如何使用 GSON 解析此 JSON 数据?并将其放入 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7653033/

相关文章:

安卓工作室断言错误: Don't invoke waitForSmartMode from inside read action in dumb mode

javascript - JSON 字符串中的对象名称中有空格并且仍然可以检索它吗?

java - 如何在java中有效解析巨大的csv文件

Python 的 re.split() 没有删除所有匹配的字符

android - 如果不立即与 JellyBean 中的 RecognitionListener 通话,则会卡住

java - 在 Android 7 org.apache.http (Apache HttpClient 4.0) 中启用已弃用的密码套件后主机名不匹配

java - 数据绑定(bind)找不到方法

ruby-on-rails - 如何在 Ruby/Rails 的 JSON 对象中创建未定义的值

javascript - 我应该在哪里存储 JWT 的不记名 token ?

c - 从这个例子中确定 LR(k) 的 k?