我最近一直在尝试开发一个简单的应用程序,它将使用用户输入,将其转换为json并在另一个函数中使用该json来绘制图形。我设法将正确的json输出到控制台,但是当我尝试将其作为参数调用函数中使用它来绘制图形时,它无法工作。如果我手动将控制台输出直接复制到绘图功能,它可以正常工作。所以这里的问题是,如何使用Json作为函数参数。
graph obj:
var graph = {
"nodes": [],
"edges": []
}
..一些填充图形的代码(这里不相关)..以函数调用结束:
console.log(JSON.stringify(graph, null, '\t')); //works perfectly if manually copied
var inpt = JSON.stringify(graph, null, '\t');
execute(inpt); //doesn't work
带有json行的execute():
execute(input)
elements: input,
...some more code...
答案 0 :(得分:0)
不要传递JSON字符串。而是直接传递graph
对象。 JSON(JavaScript Object Notation)格式是JavaScript的原生格式。 JSON字符串表示用于将对象传输到不直接支持它的环境,例如在使用C#或Java编写的服务中使用JSON对象。
当JavaScript var o = { field: "value" };
中的对象作为参数传递给函数function f(p) {...}
时,在函数中可以直接访问该字段p.field...
。
当在JavaScript范围之外需要该对象时,它应该被序列化为JSON字符串{ "field": "value" }
。接收者可以按照JSON构造约定从字符串中检索字段和值。 JSON.stringify
用于对象序列化。