Java POJO类在“数据点”之下是什么?数据点不是常数,它们的值和数量以及计数可以增加或减少。
这下面是我从我的代码中得到的输出,我得到了反斜杠。
[
{
"id": "346id71",
"arg": {
"test1": "pass",
"task": "true",
"direction": "right"
},
"datapoints": "{\"1694473620\":0.0008208249347420499,\"1694509620\":0.0008401434897869077,\"1694545620\":0.0008438824499876583,\"1694581620\":0.0008171293069653031,\"1694617620\":0.0008596749524634415,\"1694653620\":0.0008368097665295172}"
},
{
"id": "346id72",
"arg": {
"test1": "pass",
"task": "true",
"direction": "left"
},
"datapoints": "{\"1694473620\":0.0008208249347420499,\"1694509620\":0.0008401434897869077,\"1694545620\":0.0008438824499876583,\"1694581620\":0.0008171293069653031,\"1694617620\":0.0008596749524634415,\"1694653620\":0.0008368097665295172}"
}
]
这下面是所需的输出,但我得到反斜杠在“数据点”如上所述
[
{
"id": "346id71",
"arg": {
"test1": "pass",
"task": "true",
"direction": "right"
},
"datapoints": {
"1680012000": 0.10124447461480172,
"1680048000": 8.39834838777665454,
"1680084000": 8.33850837187659432,
"1680120000": 8.35752337464636549
}
},
{
"id": "346id72",
"arg": {
"test1": "pass",
"task": "true",
"direction": "left"
},
"datapoints": {
"1680012000": 0.123233,
"1680048000": 3.567384,
"1680084000": 4.476530,
"1680120000": 0.0,
"1680156000": 0.0
}
}
]
我尝试了很多,但无法找出适当的解决方案,以消除反斜杠。
这是我的模型课
public class Response {
private String id;
private Arg arg;
private String datapoints;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Arg getArg() {
return arg;
}
public void setArg(Arg arg) {
this.arg = arg;
}
public String getDatapoints() {
return datapoints;
}
public void setDatapoints(String datapoints) {
this.datapoints = datapoints;
}
}
数据点的输入字符串如下所示
{"1694473620":0.0008232249347420499,"1694509620":0.0008405554897869077,"1694545620":0.0008438824476576583,"1694581620":0.0008171293069653031,"1694617620":0.0008596749524634415,"1694653620":0.0008368097665295172}
3条答案
按热度按时间nmpmafwu1#
您应该具有以下结构。我使用Jackson处理反序列化/序列化,使用Lombok处理POJO字段的getters/setters/toString。
正如其他人所提到的,
datapoints
的类型应该是String
到Double
的Map
。输出
下面是
.toString()
调用:.writerWithDefaultPrettyPrinter().writeValueAsString()
调用:txu3uszq2#
我尝试了很多,但无法找出适当的解决方案,以消除反斜杠。
我认为你可以使用
String.replaceAll()
方法删除datapoints字段中的反斜杠:u59ebvdq3#
我认为你需要联系创建JSON的人,并要求他们重新构造它。也就是说,这里有一种使用
GSON
解析当前JSON
的方法。首先我注意到的是\"
都需要是'
。从那里,使用TypeAdapter
读取JSON
。DataPoints
的POJO
在我看来应该是Map
。代码中的注解!主菜单
ResponseTypeAdapter
响应
数据点
参数
输出