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

用Gson解析JSON

裴兴言
2023-03-14
private AttachChildDataModel parseSuccess(String content){
    Gson gson = new Gson();
    return gson.fromJson(content, AttachChildDataModel.class);
}
private Integer adultId;
private Integer childId;
private PlatformEnum platform;
private String regId;
private Date loginDate;
private Date logoutDate;
private ClientApp clientApp;
{"log":  
  {
    "childId":2,
    "adultId":1,
    "logoutDate":null,
    "platform":"IPHONE",
    "regId":null,
    "loginDate":1325419200000,
    "clientApp":"CHILD_APP"
  }
}

共有1个答案

融烨磊
2023-03-14

要解决您的问题,只需创建一个“foo”类,如下所示:

package stackoverflow.questions.q15614008;

public class Foo {

   public AttachChildDataModel log;

}

并将其作为基类在GSON中进行解析:

package stackoverflow.questions.q15614008;

import com.google.gson.*;

public class Q15614008 {

  public static void main(String[] arg) {

    String testString = "{\"log\": "
        + "  {"
        + "\"childId\":2," + "\"adultId\":1,"
        + "\"logoutDate\":null,"
        + "\"platform\":\"IPHONE\","
        + "\"regId\":null,"
        + "\"loginDate\":1325419200000,"
        + "\"clientApp\":\"CHILD_APP\"}"
        + "}";

    Gson gson = new Gson();
    Foo foo = gson.fromJson(
        testString, Foo.class);
    System.out.println("Result: " + foo.log.toString());
  }

}

然后仅使用foo类的log成员变量。

 类似资料:
  • 如何使用GSON解析这个json? 我的代码: 我的stacktrace com.google.gson.JsonSyn出租车异常:java.lang.IllegalStateExctive:预期BEGIN_OBJECT但BEGIN_ARRAY在第1行第2列路径$com.google.gson.internal.bind.ReflecteTypeAdapterFactory$Adapter.rea

  • 问题内容: 我在解析从javascript获取的JSON时遇到问题。JSON的格式是这样的: 到目前为止,我已经能够做到这一点: 但是我现在还需要用这些位置创建一个类。我一直在上课,因为我先尝试打印输出,但是我无法进一步细分它。我收到此错误消息: java.lang.IllegalStateException:这不是JSON数组。 我的代码是这样的: 我也尝试过这种方式: 在这种情况下,我得到:

  • 我正在使用凌空OkHttp从服务器获取一些数据。 响应是一个包含JSON的字符串,我想使用GSON/POJO解析它。 我得到错误: 预期BEGIN_OBJECT,但在第1行第1列路径$上是STRING 尝试解析时。 原因:java.lang.IllegalStateException:预期BEGIN_OBJECT但在第1行第1列路径$ com.google.gson.stream.JsonRead

  • 问题内容: 但是我无法从中得到答案。上面链接的答案: 它运作良好,但我想对泛型使用隐式运算符。见下文: 然后,我尝试将Class参数传递给方法: 然后出现一个错误: 谁能告诉我为什么会出现此错误?TypeToken类不支持隐式运算​​符吗? 问题答案: 您可以这样:

  • 问题内容: 我想使用 GSON* 在 JAVA中 解析此 JSON 文件: *** 但是我不知道如何加入root元素: 描述符 ,之后是 app3 元素,最后是 name 元素。 我遵循了本教程http://www.mkyong.com/java/gson-streaming-to-read-and-write- json/ ,但是它没有显示具有root和childs元素的情况。 问题答案: Im

  • 问题内容: 我有一个像这样的JSON文件: 在文件具有根元素之前,我将使用: 代码,但我不认为如何将类编码为根元素是一个数组。 我试过使用: 与: 但是还没有运气。使用这种方法我还能怎么读呢? PS我有这个工作使用: 但是我更想知道如何使用这两种方法(如果可能)。 问题答案: 问题是由放置在数组中的JSON对象(在 每种 情况下)的末尾逗号引起的: 如果删除它们,您的数据将成为 和 应该工作正常。