Javascript Gson.fromJson卡在线路上
我使用gson解析来自HttpExchange对象的数据。但是,在我的IDE中,我在使用Javascript Gson.fromJson卡在线路上,javascript,java,json,server,gson,Javascript,Java,Json,Server,Gson,我使用gson解析来自HttpExchange对象的数据。但是,在我的IDE中,我在使用.fromjson的行上设置了一个断点,它永远不会超过该行。它只是一次又一次地回来 public void handle(HttpExchange exchange) throws IOException { System.out.println("/createTest"); if (exchange.getRequestMethod().toLowerCase().equa
.fromjson
的行上设置了一个断点,它永远不会超过该行。它只是一次又一次地回来
public void handle(HttpExchange exchange) throws IOException {
System.out.println("/createTest");
if (exchange.getRequestMethod().toLowerCase().equals("post")){
System.out.println("get request");
InputStream reqBody = exchange.getRequestBody();
String reqData = readString(reqBody);
Gson gson = new Gson();
TestRequest testRequest = new TestRequest();
System.out.println(reqData);
testRequest = gson.fromJson(reqData, TestRequest.class);
System.out.println("gson done");
//Get the test
TestService testService = new TestService();
TestResponse result = testService.execute(testRequest);}
下面是TestRequest.java的更新java
import Model.TestParameter;
import java.util.ArrayList;
import java.util.HashMap;
public class TestRequest {
private HashMap<ArrayList<Integer>, book> sections;
private int difficulty;
private boolean closedBook;
private int length;
private int assortment;
private HashMap,但它在该行被“卡住”的外观很可能是由于它进入默认异常处理程序,并且从未返回到异常被“抛出”的方法。当您在非调试模式下运行时,它的行为如何?它抛出异常(我本应该执行try/catch)。这是一个例外:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:需要BEGIN_数组,但在第1行第15列path$处是BEGIN_对象。第[0]节可以用TestRequest
的源代码更新问题吗?完成!您可以在原始帖子中看到它,TestParameter.book
的类型是什么?根据java模型,部分应该是TestParameter.book
和列表的映射,但是您的json有字符串“book”:“NEPHI1”,
。尝试将此json片段更改为“book”:[“NEPHI1”],
{
"sections": [
{
"chapters": [
11,
12,
20,
21,
22
],
"book": "NEPHI1"
},
{
"chapters": [
20,
29
],
"book": "NEPHI2"
},
{
"chapters": [
1
],
"book": "OMNI"
}
],
"difficulty": 3,
"closedBook": true,
"length": 21,
"assortment": 0
}
"sections": [
{
"abc": 123,
"def": 456
}