gpt4 book ai didi

java - java中从POST读取json文件

转载 作者:行者123 更新时间:2023-12-01 22:11:02 31 4
gpt4 key购买 nike

如何像这样解压缩 json 文件?

{
"packageId": "11",
"jsScript": "var divideFn = function(a,b) { return a/b} ",
"functionName": "divideFn",
"tests": [
{
"testName": "test1",
"expectedResult": "2.0",
"params": [
2,
1
]
}
]
}

我有一个类可以很好地与 packageId、jsScript、functionName 配合使用,但不能与测试配合使用

public class Data {
private final int packageId;
private final String jsScript;
private final String functionName;
private final List<Tests> tests;

@JsonCreator
public Data(@JsonProperty("packageId") String packageId,
@JsonProperty("jsScript") String jsScript,
@JsonProperty("functionName") String functionName,
@JsonProperty("tests") List<Tests> tests) {
this.packageId = Integer.parseInt(packageId);
this.jsScript= jsScript;
this.functionName = functionName;
this.tests = tests;
}
}

public class Tests{
public final String testName;
public final int expectedResult;

@JsonCreator
public Tests(@JsonProperty("testName") String testName,
@JsonProperty("expectedResult") String expectedResult){
this.testName= testName;
this.expectedResult = Integer.parseInt(expectedResult);
}
}

我应该在类(class)中更改哪些内容才能使其正常运行?我也尝试过读取 String 之类的测试,但没有帮助

最佳答案

您似乎在反序列化 JSON 数组时遇到了一些问题 tests到物体。有几种方法可以解决这个问题。

方法一
添加@JsonIgnoreProperties(ignoreUnknown = true)在你的类里面Tests防止您的代码出现无法识别的字段“params”的异常。

方法2
反序列化 JSON 数组 testsList<JsonNode>如果它不重要并且您将来不会进一步解析它。

方法3
使用以下类映射 JSON 数组 testsList<Test> .

class Test {
private String testName;
private Float expectedResult;
private List<Integer> params;

//general getters ans setters
}
<小时/>

顺便说一句,我认为你不需要使用@JsonCreator用于反序列化。

关于java - java中从POST读取json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58660326/

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