2016-09-14 142 views
0

我正在尝试使用JSON,最终将它导入到Neo4j中。在Neo4j中使用WITH导入JSON

我使用这样的,这是一个很大的JSON字符串:

WITH [ 
{"fullname":"Full name","note":"f","addr":[],"phone":[],"email":[{"value":"[email protected]"}],"first_name":"","last_name":""}, 
.. 
] AS contacts 

第一次接触的颜色大多是橙色的,那么其他联系人变成绿色,然后黑色。

我得到以下错误:

Invalid input '"': expected whitespace, an identifier, UnsignedDecimalInteger, a property key name or '}' 

,我可以查看我的JSON文件,http://jsonviewer.stack.hu/它看起来罚款

我需要逃避某种性格,让Neo4j的理解呢?

编辑:

基于马丁斯的答案,我删除了使用正则表达式在PHP从报价: Remove double-quotes from a json_encoded string on the keys

回答

2

删除周围的按键引号。错误消息告诉你它期望property key。 Cypher在这里不使用JSON。

WITH [ 
{fullname:"Full name",note:"f",addr:[],phone:[], 
email:[{value:"[email protected]"}], 
first_name:"",last_name:""} 
] AS contacts 
RETURN contacts 

一个Neo4j的驱动程序或客户端库将处理来自字典传递状结构作为参数数据:如果你想使用JSON的工作,也许从外部来源加载它,你应该有一个看看https://neo4j.com/docs/developer-manual/current/cypher/#cypher-parameters

APOC程序:https://neo4j-contrib.github.io/neo4j-apoc-procedures/

例如,这将一JOSN字符串可以在Cypher支架使用的地图:https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_from_tojson

CALL apoc.convert.fromJsonMap(
'{"fullname":"Full name","note":"f","addr":[],"phone":[], 
"email":[{"value":"[email protected]"}],"first_name":"","last_name":""}' 
) 
YIELD value 
RETURN value 
+0

APOC程序听起来很方便在未来,有内部人士透露还可能吗?如果文件在Neo4j文件夹中的我的VPS上? –

+1

没有'LOAD JSON FROM ...'。你必须做这个应用程序。 –