来自 CURL 的 APOC import/extract JSON

APOC import/extract JSON from CURL

问题描述:我想使用apoc.load.json,但是以某种方式,即代替url或文件路径使用变量作为参数。这样做的原因是我将 json 作为 CURL 的一部分发送,因此我可以捕获它并保存到变量,是否有一些解决方法?因为我需要这样的东西(不幸的是它不起作用,因为它需要一些路径而不是变量):

var inputObject = req.body;
var jsonObject = JSON.stringify(inputObject);

.run('WITH $inputParam AS url CALL apoc.load.json(url) ...', {inputParam: jsonObject})

但完全没有必要,可能还有其他方法可以从 curl.

检索 json 数据

curl,如果对你有帮助:

curl -s -H "Content-Type: application/json" -X POST -d'{"origin":[{"label":"Alcohol drinks", "tag":[], "type":"string", "xpath":[]}, {"label":"Wine", "tag":["red","white"], "type":"string", "xpath":["Alcohol drinks"]}, {"label":"Port wine", "tag":["Portugal","sweet","strong"], "type":"string", "xpath":["Alcohol drinks","Wine"]}, {"label":"Sandeman Cask 33", "tag":["red","expensive"], "type":"string", "xpath":["Alcohol drinks","Wine","Port wine"]}], "target":[{"label":"Drinks", "tag":[], "type":"string", "xpath":[]}, {"label":"Tea", "tag":["black", "green"], "type":"string", "xpath":["Drinks"]}, {"label":"Carbonated water", "tag":[], "type":"string", "xpath":["Drinks","Tea"]}, {"label":"Pepsi", "tag":["sweet","cheap"], "type":"string", "xpath":["Drinks","Tea","Carbonated water"]}]}' http://localhost:3000/ontology

如有任何帮助,我将不胜感激。提前谢谢你。

您不需要 apoc.load.json 函数。使用没有字符串化转换的对象:

var inputObject = req.body;
session
  .run('UNWIND $inputParam.origin AS param MERGE(label:concept {name: param.label})', 
       {inputParam: inputObject});

或将列表作为参数传递:

var inputObject = req.body;
session
  .run('UNWIND $inputParam AS param MERGE(label:concept {name: param.label})', 
       {inputParam: inputObject.origin});

P.S。您需要更好地理解什么是 javascript.

中的对象