gpt4 book ai didi

java - 使用 Gson 解析 JSON

转载 作者:行者123 更新时间:2023-12-01 04:47:19 24 4
gpt4 key购买 nike

如何使用 Gson 解析下面的 JSON?

现在我使用:

private AttachChildDataModel parseSuccess(String content){
Gson gson = new Gson();
return gson.fromJson(content, AttachChildDataModel.class);
}

其中 AttachChildDataModel 具有以下成员变量:

private Integer adultId;
private Integer childId;
private PlatformEnum platform;
private String regId;
private Date loginDate;
private Date logoutDate;
private ClientApp clientApp;

我尝试解析的 Json 字符串是:

{"log":  
{
"childId":2,
"adultId":1,
"logoutDate":null,
"platform":"IPHONE",
"regId":null,
"loginDate":1325419200000,
"clientApp":"CHILD_APP"
}
}

当我将对象放入 Spring ModelView 中时,我将其添加到名称 log 下。问题是当我尝试用 Gson 解析它时。现在,我使用 String#substring 手动删除“log”前缀和“}”后缀,但我认为有更好的解决方案。

最佳答案

要解决您的问题,只需创建一个“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 成员变量。

关于java - 使用 Gson 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15614008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com