2016-09-14 143 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 ...'。你必須做這個應用程序。 –