在angularjs中将数组转换为Json不起作用

时间:2018-08-17 01:43:55

标签: javascript arrays json

var test=["a","b","c"];
console.log(JSON.stringify(test));

我坚持这样做。我想要这样的输出

{"a","b","c"}

但是我越来越像这样

["a","b","c"]

有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

JavaScript和JSON都可以使用字典样式(如使用{}字符的对象)或数组样式(具有[]字符的对象列表)表示数据。

使用字典式对象:

  • 您使用{key1:value1, key2:value2}格式
  • 您始终拥有任何条目的键和值
  • {"a":0, "b":1}有效
  • {"a", "b"}无效

带有数组:

  • 您使用["a", "b", "c"]格式
  • 您只有值(及其位置),没有键

因此,{"a", "b", "c"}在JavaScript和JSON中都毫无意义。

您正在JavaScript中定义一个数组: var test=["a","b","c"];。 这就是JSON.stringify(test)显示带有[]而不是无效语法(例如{"a","b","c"})的数组的原因。

答案 1 :(得分:0)

您不能将Array转换为JSON对象,但是您可以做的是创建一个对象,将其存储在该数组中,然后将其转换。 像这样的东西:

    var obj = {test: ["a", "b", "c"]};
    console.log(JSON.stringify(obj));