Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.alibaba.fastjson.JSONException: illegal identifier : ] with root cause
com.alibaba.fastjson.JSONException: illegal identifier :
at com.alibaba.fastjson.parser.JSONLexerBase.scanSymbolUnQuoted(JSONLexerBase.java:847) ~[fastjson-1.2.7.jar:na]
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:267) ~[fastjson-1.2.7.jar:na]
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1236) ~[fastjson-1.2.7.jar:na]
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1205) ~[fastjson-1.2.7.jar:na]
at com.alibaba.fastjson.JSON.parse(JSON.java:109) ~[fastjson-1.2.7.jar:na]
at com.alibaba.fastjson.JSON.parse(JSON.java:100) ~[fastjson-1.2.7.jar:na]
at com.alibaba.fastjson.JSON.parseObject(JSON.java:171) ~[fastjson-1.2.7.jar:na]
我的问题是postman测试时的格式中包含大量空格
{
"data":{
"user":{
"username" : "XXX",
"studentId" : 11,
"studentDept" : "yyy"
},
"usergrade":{
"degree" : 87,
"grades": [
{"categoryId": 1, "grade": 4},
{"categoryId": 2, "grade": 4},
{"categoryId": 3," grade": 6},
{"categoryId": 4," grade": 8},
{"categoryId": 5," grade": 10}
]
}
}
}
修改格式后问题解决
{"data":{"user":{"username":"xxx","studentId":11,"studentDept":"yyy"},"usergrade":{"degree":87,"grades":[{"categoryId":1,"grade":4},{"categoryId":2,"grade":4},{"categoryId":3,"grade":6},{"categoryId":4,"grade":8},{"categoryId":5,"grade":10}]}}}
有更深层次的原因,这只是表面现象,待处理。