问题描述:我想以某种方式使用apoc.load.json
,即使用url作为变量而不是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 -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
我将不胜感激。预先谢谢你。
答案 0 :(得分:0)
您不需要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中的对象是什么。