Javascript-字符串到多层数组

Javascript-字符串到多层数组,javascript,arrays,Javascript,Arrays,My函数从Web服务获取一个字符串,该字符串表示一个多层数组结构。然后我把它赋给一个变量。类似这样的内容: //incoming = [ [1,2,3], ['a','b','c'], [{v:1437, f:'1437 - Point A'}, {v:1440, f:'1440 - Point B'}, {v:1445, f:'1445 - Point C'}], [6.7,8.2,9.2] ] -- this is the incoming string arrays = in

My函数从Web服务获取一个字符串,该字符串表示一个多层数组结构。然后我把它赋给一个变量。类似这样的内容:

//incoming = [ [1,2,3], ['a','b','c'], [{v:1437, f:'1437 - Point A'}, {v:1440, f:'1440 -  Point B'}, {v:1445, f:'1445 -  Point C'}], [6.7,8.2,9.2] ]  -- this is the incoming string
   arrays =  incoming;
当我尝试将其传递给另一个函数时,javascript总是警告我这是一个字符串,而不是一个数组(函数稍后需要将其拆分以获得较小的数组)

到目前为止,我试过:

var globalArray = [];

$.each(arrays, function(key, object) {
    var innerArray = [];
    innerArray=object;
    globalArray.push(innerArray);
});
但是globalArray将不包含多个数组,而是包含许多将成为兄弟的字符串

[ 1,2,3,a,b,c,{v:1437, f:'1437 - Point A'}, {v:1440, f:'1440 -  Point B'}, {v:1445, f:'1445 -  Point C'},6.7,8.2,9.2 ] 

如何根据字符串的内容重新创建数组结构?步骤1从端点输出有效的JSON,如下所示:

[ 
  [1,2,3], 
  ["a","b","c"],
  [
    {"v":1437, "f":"1437 - Point A"}, 
    {"v":1440, "f":"1440 -  Point B"}, 
    {"v":1445, "f":"1445 -  Point C"}
  ],
  [6.7,8.2,9.2] 
]
步骤2-使用
JSON.Parse()解析输入


不确定该服务是怎么回事,但实际上每种语言都有多个像样的JSON编码器/解析器。请使用它们。永远不要尝试手动序列化数据,尤其是当数据几乎是json时。

您可以使用json字符串

[[1,2,3],["a","b","c"],[{"v":1437,"f":"1437 - Point A"},{"v":1440,"f":"1440 - Point B"},{"v":1445,"f":"1445 - Point C"}],[6.7,8.2,9.2]]
如所定义的,并使用进行解析以获取对象

var json='[[1,2,3],“a”,“b”,“c”],[{“v”:1437,“f”:“1437-点a”},{“v”:1440,“f”:“1440-点b”},{“v”:1445,“f”:“1445-点c”}],[6.7,8.2,9.2],
object=JSON.parse(JSON);
console.log(对象)

.as-console-wrapper{max-height:100%!important;top:0;}
请添加字符串,您会得到。数组字符串中的“
a
”是什么?为什么不将Web服务的输入更改为有效字符串?您能告诉我它是什么样子吗?每当我使用JSON时,在实际值之前就有名称作为键,所以我可以解压。在这种情况下,我对它的技术有点不熟悉,如何将它解压缩到包含内部数组的数组中。假设数组格式正确,JSON字符串看起来像
”[[1,2,3],“a”,“b”,“c”],[“e”,“f”,“g”],[6.7,8.2,9.2]'
,谢谢你的回答!正如建议的那样,我确保使用JSON而不是字符串。我希望我能同时接受两个答案。再次感谢你!感谢Nina提供的详细答案和示例!