2016-09-14 2 views
0

Я пытаюсь использовать JSON, чтобы в конечном итоге импортировать его в Neo4j.Импорт JSON с использованием WITH в Neo4j

я использую что-то подобное, это большая строка 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 это понимает?

Edit:

основе Martins ответа, я удалил цитаты с использованием регулярных выражений в 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 или клиентская библиотека будет обрабатывать данные, передаваемые из словаря, как структуры в качестве параметров: https://neo4j.com/docs/developer-manual/current/cypher/#cypher-parameters

Если вы хотите работать с JSON и, возможно загрузить его из внешних источников, вы должны иметь взгляд на Процедуры 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

процедуры АПБО звуки удобно для в будущем, являются внутренние источники также возможно? Если файл находится на моем VPS в папке Neo4j? –

+1

Нет «LOAD JSON FROM ...». Вы должны сделать это приложение. –

Смежные вопросы