如何在javascript函数中传递一组json数据?

新手上路,请多包涵

我有一个数据集如下:

数据 = ‘{“a”:1,“b”:2,“c”:3},{“a”:4,“b”:5,“c”:6},{“a”:7, “b”:8,“c”:9}’;

我正在尝试使用数据集作为其参数创建一个函数,但该参数不会被读取。这是我所做的:

函数添加(数据){ 警报(数据); } 添加(数据);

我只得到 [object Object],[object Object] …这里有什么问题?谢谢。

原文由 D Kim 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 429
2 个回答

JSON 字符串错误。其实应该是:

 var data = '[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]';

之后,您需要使用以下代码将 JSON 字符串转换为 JSON 对象:

 JSON.parse(d) /* d is the parameter of the method 'add()'  */

alert 将为您提供 [object Object] 输出,因为变量 data 本身就是对象。所以如果你想看到整个 json 数据,你需要 console.log 作为:

 console.log(JSON.parse(d));

观看 演示

原文由 Shashank 发布,翻译遵循 CC BY-SA 3.0 许可协议

首先,您的数据值不正确。因为它有 3 个对象,所以它必须在一个数组中。所以,你的数据应该是

data = '[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]';

然后需要使用JSON.parse函数将字符串数据解析成javascript对象,然后传递对象。

 function add(data)
{
   alert(data);
   alert(data[0].a); //access 1ts objects a value
}
var data = JSON.parse(data);
add(data);

原文由 Karthik M R 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题