Neo4j Java 螺栓驱动器:如何将结果转换为 Json?
Neo4j Java bolt driver: how to convert the result to Json?
我正在使用 Java Bolt 驱动程序 (1.0.1),我想知道是否有一种方法可以将结果转换为 Json(可能与 REST api)?
我试过这样使用gson
:
Result r = null;
try ( Transaction tx = graphDb.beginTx() )
{
r = graphDb.execute("MATCH...");
tx.success();
} catch {...}
new Gson().toJson(result);
但我得到的是:
java.lang.WhosebugError
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:98)
at com.google.gson.reflect.TypeToken.<init>(TypeToken.java:72)
etc...
您显示的 API 不是螺栓驱动器,它是嵌入式 Java-API.
在螺丝刀中你可以做到
Driver driver = GraphDatabase.driver( "bolt://localhost", AuthTokens.basic( "neo4j", "neo4j" ) );
Session session = driver.session();
StatementResult result = session.run( "MATCH (a:Person) WHERE a.name = 'Arthur' RETURN a.name AS name, a.title AS title" );
while ( result.hasNext() ) {
Record record = result.next();
gson.toJson(record.asMap());
}
session.close();
driver.close();
我正在 Flask 中开发一个应用程序,需要做同样的事情,然后将其放入响应中,但在 Python 中。我使用 jsonify 而不是 gson。有什么建议么???代码就在这里:
@concepts_api.route('/concepts', methods=['GET'])
def get_concepts_of_conceptgroup():
try:
_json = request.json
_group_name = _json['group_name']
if _group_name and request.method == 'GET':
rows = concepts_service.get_concepts_of_conceptgroup(_group_name)
resp = jsonify(rows)
resp.status_code = 200
return resp
return not_found()
except:
message = {
'status': 500,
'message': 'Error: Imposible to get concepts of conceptgroup.',
}
resp = jsonify(message)
resp.status_code = 500
return resp
我正在使用 Java Bolt 驱动程序 (1.0.1),我想知道是否有一种方法可以将结果转换为 Json(可能与 REST api)?
我试过这样使用gson
:
Result r = null;
try ( Transaction tx = graphDb.beginTx() )
{
r = graphDb.execute("MATCH...");
tx.success();
} catch {...}
new Gson().toJson(result);
但我得到的是:
java.lang.WhosebugError
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:98)
at com.google.gson.reflect.TypeToken.<init>(TypeToken.java:72)
etc...
您显示的 API 不是螺栓驱动器,它是嵌入式 Java-API.
在螺丝刀中你可以做到
Driver driver = GraphDatabase.driver( "bolt://localhost", AuthTokens.basic( "neo4j", "neo4j" ) );
Session session = driver.session();
StatementResult result = session.run( "MATCH (a:Person) WHERE a.name = 'Arthur' RETURN a.name AS name, a.title AS title" );
while ( result.hasNext() ) {
Record record = result.next();
gson.toJson(record.asMap());
}
session.close();
driver.close();
我正在 Flask 中开发一个应用程序,需要做同样的事情,然后将其放入响应中,但在 Python 中。我使用 jsonify 而不是 gson。有什么建议么???代码就在这里:
@concepts_api.route('/concepts', methods=['GET'])
def get_concepts_of_conceptgroup():
try:
_json = request.json
_group_name = _json['group_name']
if _group_name and request.method == 'GET':
rows = concepts_service.get_concepts_of_conceptgroup(_group_name)
resp = jsonify(rows)
resp.status_code = 200
return resp
return not_found()
except:
message = {
'status': 500,
'message': 'Error: Imposible to get concepts of conceptgroup.',
}
resp = jsonify(message)
resp.status_code = 500
return resp