版本:Neo4j 3.2.2 社区;APOC 3.2.0.3
并非在所有情况下都正确处理字符串中的转义字符。
这按预期工作:
WITH apoc.convert.fromJsonMap( '{"a":42,"b":"foo\\bar","c":[1,2,3]}') AS p RETURN p.b
╒═════════╕<br>│“pb”│<br>╞═════════╡<br>│“foo\bar”│<br>└─── ──────┘
转义引号不能按预期工作:
WITH apoc.convert.fromJsonMap( '{"a":42,"b":"\"foo\"","c":[1,2,3]}')
AS p RETURN p.b
Neo.ClientError.Procedure.ProcedureCallFailed 调用函数失败apoc.convert.fromJsonMap
:原因:java.lang.RuntimeException:无法转换 {"a":42,"b":""foo"","c":[1,2 ,3]} 映射到路径
加倍反向固相线(不可取)得出以下结果:
WITH apoc.convert.fromJsonMap( '{"a":42,"b":"\\"foo\\"","c":[1,2,3]}') AS p RETURN p.b
╒═════════╕<br>│"pb"│<br>╞═════════╡<br>│"\"foo\""│<br>└─ ────────┘
转义的换行符得到相同的错误:
WITH apoc.convert.fromJsonMap( '{"a":42,"b":"foo\nbar","c":[1,2,3]}') AS p RETURN p.b
Neo.ClientError.Procedure.ProcedureCallFailed 调用函数失败apoc.convert.fromJsonMap
:原因:java.lang.RuntimeException:无法转换 {"a":42,"b":"foo bar","c":[1,2, 3]} 映射到路径
[请注意,“foo”之后的换行符在错误消息返回的字符串中表示。错误信息分两行给出。]
我对这个程序的使用是否正确?
有没有人看到这个问题并修复或解决它?