我无法向 neo4j api 发送内容。这是我的请求的正文。
{
"statements" : [ {
"statement" : "Create (user:User{ name: "jon" }) Return user"
} ]
}
我越来越:
{
"results": [],
"errors": [
{
"code": "Neo.ClientError.Request.InvalidFormat",
"message": "Unable to deserialize request: Unexpected character ('j' (code 106)): was expecting comma to separate OBJECT entries\n at [Source: HttpInputOverHTTP@7481578b; line: 3, column: 45]"
}
]
}
我的代码实际上有什么问题?当我在那里只有 1 个属性时,为什么会出现逗号?
我试过这个:(更好的格式)
"statement" : "CREATE ( user:User { name: "jon" } ) Return user"
同样的错误。以此为原型:
"statement" : "CREATE ( bike:Bike { weight: 10 } ) Return bike"
哪个工作得很好。它来自文档。
唯一的区别是字符串。但是我还应该如何编码jon
?
因为这:
"statement" : "CREATE ( user:User { name: jon } ) Return user"
也不行。
我觉得这很反直觉。 任何帮助表示赞赏:) 也许您可以提供一些解释为什么这是必要的。谢谢 :)
编辑
基于@cybersam 的回答 - 我意识到我忘了转义字符串。
然而这:
"statement" : "CREATE (user:User{\"name\":\"jon\"}) Return user"
产生这个:
"errors": [
{
"code": "Neo.ClientError.Statement.SyntaxError",
"message": "Invalid input '\"': expected whitespace, a property key name, '}', an identifier or UnsignedDecimalInteger (line 1, column 19 (offset: 18))\r\n\"CREATE (user:User{\"name\":\"jon\"}) Return user\"\r\n ^"
}
我的代码使用模块从elixir maps
into自动生成。我按照建议让 Posion 给我似乎没有用。json
Poison
{ name : 'jon' }