如何在Node.js中将类似数组的字符串转换为数组?

4
我正在编写一个Node.js应用程序中的API。这是一个POST请求,它发送了一堆数据,并且在请求体中发送了一个字符串形式的timings参数,看起来像一个数组 [["11:00 AM", "1:00 PM"], ["1:00 PM", "4:00 PM"]]。当我将其插入到MongoDB中时,它被存储为一个数组,但整个文本作为一个字符串存储在第一个数组元素中。
我知道我可以通过要求客户端应用程序发送逗号分隔的字符串,例如11:00 AM、1:00 PM,并在JavaScript中使用String.split()拆分字符串后再将其插入到数据库中,但这仅适用于单维数组。我有一个多维数组被作为字符串发送到POST请求中。如何将其转换为数组?

3
JSON.parse 怎么样? - Blakes Seven
1
成功了!谢谢!你能回答这个问题吗,这样我就可以把它标记为答案了吗? - JackH
当您将其分配给二维数组变量时,可以获取其中每个值的值。这有帮助吗?-https://dev59.com/sGsz5IYBdhLWcg3w9ssQ - giri-sh
如果你正在使用JavaScript构建Web服务器,那么搜索一下"body parser"这个术语,因为很常见的情况是将实际上是JSON或其他序列化格式的字符串输入转换为真实数据结构。而这项工作通常已经为你处理好了。 - Blakes Seven
1个回答

6
使用JSON.parse将字符串数组解析为JS数组。
var timingsAr = '[["11:00 AM", "1:00 PM"], ["1:00 PM", "4:00 PM"]]'
JSON.parse(timingsAr); //returns JS array

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