java - 将 ExecutionResult 对象转换为 json

标签 java neo4j gson cypher

我需要公开一个公共(public)API,并且我需要将密码查询的结果转换为json。我已经开始这个过程,但是我在序列化 scala.collection.convert.Wrappers$SeqWrapper 类型的对象时遇到问题,该对象在 cypher 中使用collect() 时返回。

这是密码查询:

MATCH (orders:Orders {id:'locationrestaurant'}), (order:Order),    (orders)-[:hasOrder]-(order),(order)-[:orderedProduct]->(product),(client)-[:ordered]->(order) return (order),(client), collect(product) as products;

我该如何处理这种类型的对象?我可以将其转换到列表中吗?另外,是否有任何库可以将 ExecutionResult 转换为 json?

如果您需要更多详细信息,请询问。这是我的代码

public QueryResult runCypher(String query, Map<String,Object> params)
{
    QueryResult result = new QueryResult();
    Transaction tx = service.beginTx();
    ExecutionResult execResult = null;
    boolean success = true;

    System.out.println(query);
    try
    {
        if(params!=null) execResult = engine.execute(query, params);
        else             execResult = engine.execute(query);
        result.result = getReturnedObjectsToJson(execResult);
    }
    catch(Exception e)
    {
        System.out.println(e.getMessage()+" exception message");
        result.result = e.getMessage();
        success = false;
    }
    finally
    {
        if(success) tx.success();
        else        tx.failure();
    }

    tx.close();

    result.success = success;

    return result;
}

基本上,getReturnedObjectsToJson 完成了这项工作。

最佳答案

我该如何处理这种类型的对象?

data.get("labels") java.util.Collection实例

我可以将其转换到列表中吗?

是的

另外,是否有任何库可以将 ExecutionResult 转换为 json?

ExecutionResult是可迭代的,我认为你可以使用任何流行的java json框架,例如gson或jackson

关于java - 将 ExecutionResult 对象转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22618102/

相关文章:

java - 使用 GSON 在 Java 中组织输出 JSON 响应

java - Maven环境设置Windows 7错误

python - py2neo.database.status.Neo4j 3.0.3 未经授权

javascript - 使用 GSON 解析 JS(带函数)

java - Gson合并JsonObject抛出java.lang.UnsupportedOperationException

neo4j - 计算 Neo4j 中节点之间的相似度

java - JavaScript 事件处理程序使用什么宿主对象

java - GridLayout 中 JPanel 之间的差距

java - 在 JDK 1.5 中找不到包 javax.xml.bind

javascript - 在哪里可以找到 neo4j 3.0 驱动程序 session .run .then 等方法的列表