2016-09-14 85 views
1

我试图导入一个JSON到Neo4j。使用WITH导入JSON在Neo4j:无效输入':'

我使用的是这样的:

WITH [{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:null,last_name:null},{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:"Jo",last_name:null},{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:"Jenno",last_name:null},{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:"John",last_name:"Doe"},{addr:[],phone:[],email:[{value:"[email protected]"}] 

但我得到这个错误:

Invalid input ':': expected '0'-'9', whitespace or '}' (line 1, column 1763 (offset: 1762)) 

什么可以吗?我明白,不应该引用键,值不能是空字符串。

回答

0

您的JSON是无效的,它错过在年底结束一些括号,这workded对我来说:

WITH [{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:null,last_name:null},{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:"Jo",last_name:null},{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:"Jenno",last_name:null},{addr:[],phone:[],email:[{value:"[email protected]"}],first_name:"John",last_name:"Doe"},{addr:[],phone:[],email:[{value:"[email protected]"}]}] AS elts 
UNWIND elts AS elt 
RETURN elt 

-

╒══════════════════════════════╕ 
│elt       │ 
╞══════════════════════════════╡ 
│{first_name: (null), email: [{│ 
│value: [email protected]}], last_na│ 
│me: (null), addr: [], phone: [│ 
│]}       │ 
├──────────────────────────────┤ 
│{first_name: Jo, email: [{valu│ 
│e: [email protected]}], last_na│ 
│me: (null), addr: [], phone: [│ 
│]}       │ 
├──────────────────────────────┤ 
│{first_name: Jenno, email: [{v│ 
│alue: [email protected]}], last_name:│ 
│ (null), addr: [], phone: []} │ 
├──────────────────────────────┤ 
│{first_name: John, email: [{va│ 
│lue: [email protected]}], last_name:│ 
│ Doe, addr: [], phone: []} │ 
├──────────────────────────────┤ 
│{addr: [], phone: [], email: [│ 
│{value: [email protected]}]}   │ 
└──────────────────────────────┘ 
+0

我明白了,对不起我的数据是正确关闭。我发布的样本确实不是。是否可以使用'{1:{zipcode:“2338 AAA”,housenumber:“302”}}'1号作为密钥不允许用于Neo4j? –

+1

它不受neo4j的json规范支持,实际上你正在构建一个映射,并且java地图不能有键名是非字符串的,因为它在许多其他语言中是一样的 –