将JSON字符串解析为数组

6
我正在尝试在Javascript中从JSON解析字符串并将这些元素转换为数组。以下是代码。
      var data = "{"fname":"Todd","lname":"James","cascade":"tjames","loc":"res","place":"home", "day0":"0,1,2,3,"}";
      var getDay = data.day0;
      var getDayArray = getDay.split(",");

基本上,我试图获取day0,它是0,1,2,3,并将其转换为具有以下结构的数组

[0] = 0
[1] = 1
[2] = 2
[3] = 3

这该怎么做才是最好的方式呢?

var data = '{"...."}';data=JSON.parse(data);, 等等? - Rob W
首先,您的对象标记无效。其次,您尝试了什么? - Robert
等一下...你改了代码,现在没有JSON了。 - Dancrumb
我不确定你在这里暗示什么。我正在尝试从JSON中取出day0元素,并将数字放入数组中。 - Vikram
抱歉,那是我的错;一开始我以为那是打字错误并试图纠正它,但后来我意识到 OP 可能真的有混乱的 JSON 代码。 - machineghost
变量数据从PHP中获取并回显,我在这里尝试重新创建它,抱歉出现了对象标记问题。我尝试使用CSVtoArray,但效果不太好(没有成功)。 - Vikram
3个回答

7

像这样的东西。那个尾随的逗号是有意的吗?

var getDayArray = JSON.parse(data).day0.split(",")

1
你在 split() 中漏掉了 ',' - Dancrumb
糟糕,由于某种原因,我的大脑认为“,”是默认值。 - Mike Robinson

1

这已经内置在大多数现代浏览器的JavaScript引擎中。根据您所针对的环境,您可以简单地执行以下操作:

var data = JSON.parse(jsonString);
day0 = data.day0.split(",");

这很简单。如果你的目标环境没有内置的JSON对象,你可以尝试使用这个JSON项目


1

大多数现代浏览器都支持JSON.parse()。您可以这样使用它:

  var dataJSON = '{"fname":"Todd","lname":"James","cascade":"tjames","loc":"res","place":"home", "day0":"0,1,2,3"}'; // You need to remove the trailing comma
  var data = JSON.parse(dataJSON);
  var getDay = data.day0;
  var getDayArray = getDay.split(",");

然而,修改生成dataJSON值的任何内容以返回更好。

  var dataJSON = '{"fname":"Todd","lname":"James","cascade":"tjames","loc":"res","place":"home", "day0":[0,1,2,3]}';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接