Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure `apoc.load.json`

I am trying to execute following cypher
call apoc.load.jdbc('jdbc:sqlserver://xxxxx','exec tempProcedure[department]') YIELD row with row.displayName as data call apoc.load.json(data) yield value return value

getting below error
Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure apoc.load.json : Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 0: [{"target_table":"xxx","source_table":"yyy","source_column_name":"abc","weight":1,"Neo_Relationship_Name":"FUNCTIONAL_UNIT_AT"}]

Can anyone help me on this

Hi Ankit,

this is because of the wrong syntax inside procedure.

Thanks Kuna, Procedure is returning the correct output but apoc.load.json is not parsing correctly

This is the output of the procedure

"[{"target_table":"xxx","source_table":"yyy","source_column_
name":"abc","weight":1,"Neo_Relationship_Name":"FUNCTIONAL_UNIT_A
T"}]"

The error means you have some empty space in the beginning. What is row.displayName?. Your output didn't show displayName.

There is nothing wrong with your output. I saved that as test.json and ran the query:

call apoc.load.json("file:/test.json")
YIELD value
RETURN value

Result:
json2

Looks like the problem is with row.displayName. Please check.