gpt4 book ai didi

java - Neo4J 事务性 REST api 字符串转义不起作用

转载 作者:行者123 更新时间:2023-11-29 04:59:04 27 4
gpt4 key购买 nike

同时向 Neo4J's transactional Cypher API 发送 Cypher 查询,我遇到了以下错误:

Neo.ClientError.Request.InvalidFormat Unable to deserialize request: Unrecognized character escape ''' (code 39)

我的 Cypher 查询看起来像这样

MATCH (n:Test {id:'test'}) SET n.`label` = 'John Doe\'s house';

虽然此查询在 Neo4J 的浏览器界面中执行时工作正常,但在使用 REST API 时会失败。这是一个错误还是我做错了什么?如果这不是错误,我该如何转义 ' 以使其在两者中都起作用?

编辑:我找到了 this answer并测试了三重单引号和三重双引号,但它们只是引发了另一个 Neo.ClientError.Request.InvalidFormat 错误。

注意:我使用的是 Neo4J 2.2.2

注意 2:为了以防万一,下面是我发送到端点的 JSON 正文。

{"statements":[
{"statement": "MATCH (n:Test {id:'test'}) SET n.`label` = 'John Doe\'s house';"}
]}

最佳答案

你也必须转义\:

{"statements":[
{"statement": "MATCH (n:Test {id:'test'}) SET n.`label` = 'John Doe\\'s house';"}
]}

但是如果你使用参数(推荐),你可以这样做

{"statements":[
{"statement": "MATCH (n:Test {id:'test'}) SET n.`label` = {lbl}",
"parameters" : {"lbl" : "Jane Doe's house"}
}

]}

关于java - Neo4J 事务性 REST api 字符串转义不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32697073/

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