我最近一直在尝试开发一个简单的应用程序,它将使用用户输入,将其转换为 json 并在另一个函数中使用该 json 来绘制图形。我设法将正确的 json 输出到控制台,但是当我尝试在使用它来绘制图形的函数中将其作为参数调用时,它无法工作。如果我手动将控制台输出直接复制到绘图函数,它可以正常工作。那么这里的问题是,如何使用Json作为函数参数。
图形对象:
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...
最佳答案
不要传递 JSON 字符串。相反,直接传递 graph
对象。 JSON (JavaScript 对象表示法)格式是 JavaScript 的原生格式。 JSON 字符串表示形式用于将对象传输到不直接支持它的环境,例如在用 C# 或 Java 编写的服务中使用 JSON 对象。
当 JavaScript 中的对象 var o = { field: "value"};
作为参数传递给函数时 function f(p) {...}
,那么在函数中就可以直接访问该字段p.field...
。
当在 JavaScript 范围之外需要该对象时,应将其序列化为 JSON 字符串{ "field": "value"}
。接收者可以按照 JSON 构造约定从字符串中检索字段和值。 JSON.stringify
用于对象序列化。
关于javascript - 使用Json数据作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32157360/