java - java中使用Gson反序列化Json

标签 java json gson

我想用java中的GSon解析Json中的数据我有这个json

    {
      "time": 3.251,
      "about_us": {
        "dc:identifier": "some string",
        "dc:title": "some string",
        "dc:contributor": [
          "1",
          "2"
        ],
        "dc:hasversion": "some string"
      },
      "results": {
        "ocw": [
          {
            "title": "some string",
            "url": "some string",
            "language": "some string",
            "university_name": "some string",
            "university_url": "some string",
            "description": "",
            "uri": "some string5",
            "similar": "some string",
            "resourceType": "OCW",
            "relatedoers": [

                    ]
          }
        ],
        "otheroer": [

        ]
      }
    }

我只需要获取“ocw”字段,我很困惑如何做到这一点。 我为 json 对象创建了相应的 java 类,并使用 @SerializedName 注释来指定要为每个数据成员获取的字段名称。

类(class)如下。

结果

OCW

最佳答案

如果您将此 json 存储在某个 jsonString 中:

    JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonString);
    JsonElement jsonElement = jsonObject.getAsJsonObject("results").getAsJsonArray("ocw").get(0);
    MyObject object = new GsonBuilder().create().fromJson(jsonElement, MyObject.class);    

MyObject 应该反射(reflect)这部分:

        "title": "some string",
        "url": "some string",
        "language": "some string",
        "university_name": "some string",
        "university_url": "some string",
        "description": "",
        "uri": "some string5",
        "similar": "some string",
        "resourceType": "OCW",
        "relatedoers": [

                ]

关于java - java中使用Gson反序列化Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27082464/

相关文章:

python - 读取 json 并将某些 json 对象写入 csv

java - 寻找一种不太详细的方法来解析 Android (Java) 中的 JSON

Java json从url获取数据到jcombobox

java - 如何通过 Java 程序从 PC 发送电子邮件?

java - 在 Hibernate Criteria 中访问复合键

java - 在java web应用程序中使用websocket

javascript - 如何返回 $(this)

javascript - 在 WordPress 中包含包含 Php 的 JavaScript

使用 GSON 进行 Java 到 Json 验证

java - 如何在我的 Android.mk 中使用 Android tesseract Android.mk 文件?