gpt4 book ai didi

java - Neo4j Cypher 结果为 JSON : Getting JsonMappingException when using JsonHelper. createJsonFrom() 但仅限于某些查询

转载 作者:行者123 更新时间:2023-12-02 13:40:50 25 4
gpt4 key购买 nike

我正在开发 neo4vertx,这是一个可以使用 Vert.x 与 Neo4j 数据库进行通信的模块。具体来说,我正在开发名为“查询”的功能,该功能允许 Vert.x 用户以 eventbus 消息的形式发送 Cypher 查询并返回 JSON 结果集。

但是,在使用 JsonHelper.createJsonFrom() 和某些查询序列化为 JSON 时,我似乎遇到了意外的问题。

一个简单的例子(当然数据库里有东西):

// This Fails with JsonMappingException (see below):
String query="MATCH (n) RETURN n";

// This Succeeds:
String query="MATCH (n) RETURN n.something";

//Rest of code:
engine = new ExecutionEngine(graphDatabaseService);
ExecutionResult result;
result = engine.execute(query);

Object object = result.iterator();
String foo = JsonHelper.createJsonFrom(object);
System.out.println("DEBUG (foo): " + foo);

有人觉得这很熟悉吗?我们本质上希望能够发送任何类型的查询并返回空 json 字符串或 json表示形式与您可以从Neo4j 的 Web 界面!

异常(exception):

testQuery(org.openpcf.neo4vertx.neo4j.Neo4jGraphTest)  Time elapsed: 2.362 sec  <<< ERROR!
org.neo4j.server.rest.domain.JsonBuildRuntimeException: org.codehaus.jackson.map.JsonMappingException: No serializer found for class org.neo4j.kernel.InternalAbstractGraphDatabase$DependencyResolverImpl and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: scala.collection.convert.MapWrapper["content"]->org.neo4j.kernel.impl.core.NodeProxy["graphDatabase"]->org.neo4j.test.["dependencyResolver"])

...

最佳答案

尽管 ExecutionResult 是 Iterator<Map<String,Object>> 的实现它目前只是 scala 类以及 Neo4j 类(如节点、关系、路径)的 java 包装器。

所以你可能需要做两件事:

  1. 用适当的映射和列表递归替换 neo4j 类
  2. 可能:用 java 列表和映射递归替换 scala 列表和映射,例如new LinkedHashMap(row)

我不久前在我的 cypher-websocket-experiments 中做了一些这样的事情。

关于java - Neo4j Cypher 结果为 JSON : Getting JsonMappingException when using JsonHelper. createJsonFrom() 但仅限于某些查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141511/

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