我正在使用Advanced Rest Client工具来测试服务器端java类,该类处理作为json对象发送的数据,并且遇到了一个让我难倒的错误。经过大量的Google搜索和试错尝试后,我现在转向SO。
有关问题的一些细节。
- >下面是传递给java类的测试数据。数据格式有效 - 通过验证工具验证数据。
[{ "Id":1,"Question":"What is the capital of Texas", "QuestionType":"SingleChoice",
"Options":[{ "Answer":1,"City":"Austin"}, { "Answer":2, "City":"Houston" }, {
"Answer":3, "City":"El Paso" }] }]
- >我正在使用Advanced Rest Client工具上的Post选项。
- > application / json是这篇文章的用途。
- >服务器端类是将信息发布到Neo4J数据库,从而发布到Neo4J 正在使用服务器。服务器已启动并正在运行,我可以发送其他服务器 交易到其他类没有问题。
- >当我使用上述数据集发送交易时,我遇到以下错误......
message: "java.util.ArrayList cannot be cast to java.util.Map"
exception: "BadInputException"
fullname: "org.neo4j.server.rest.repr.BadInputException"
stacktrace: [6]
0: "org.neo4j.server.rest.repr.formats.JsonFormat.readMap(JsonFormat.java:92)"
1: "org.neo4j.server.rest.repr.RepresentationFormat.
readParameterList(RepresentationFormat.java:97)"
2: "org.neo4j.server.rest.web.ExtensionService.
invokeGraphDatabaseExtension(ExtensionService.java:134)"
3: "java.lang.reflect.Method.invoke(Unknown Source)"
4: "org.neo4j.server.rest.transactional.
TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)"
5: "java.lang.Thread.run(Unknown Source)" -
cause: {
message: "java.util.ArrayList cannot be cast to java.util.Map"
exception: "ClassCastException"
stacktrace: [7]
0: "org.neo4j.server.rest.domain.JsonHelper.jsonToMap(JsonHelper.java:53)"
1: "org.neo4j.server.rest.repr.formats.JsonFormat.readMap(JsonFormat.java:88)"
2: "org.neo4j.server.rest.repr.RepresentationFormat.
readParameterList(RepresentationFormat.java:97)"
3: "org.neo4j.server.rest.web.ExtensionService.
invokeGraphDatabaseExtension(ExtensionService.java:134)"
4: "java.lang.reflect.Method.invoke(Unknown Source)"
5: "org.neo4j.server.rest.transactional.
TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)"
6: "java.lang.Thread.run(Unknown Source)"
-
fullname: "java.lang.ClassCastException"
}
考虑到上述情况,我倾向于在Advanced Rest Client工具级别而不是java类中遇到错误。原因是当在调用中使用不存在的类的名称时,我得到相同的错误。
不确定可以提供哪些其他信息来帮助解决此问题。如果您需要其他详细信息,请与我们联系。
提前致谢。
答案 0 :(得分:1)
知道了!删除外括号([])就可以了。这样做有{}括号所包含的数据表明正在发送JSON对象(我相信)。