ton*_*on1 3 html javascript json node.js
客户
.. some form
<textarea name="data"></textarea>
Run Code Online (Sandbox Code Playgroud)
我将在文本区域中输入如下内容
{title: 'Hello one!', author: 'someone'}
{title: 'Hello two!', author: 'mygf'}
{title: 'Hello three!', author: 'darthvader'}
Run Code Online (Sandbox Code Playgroud)
最后提交表格,
服务器
服务器将得到上面的像
'{title: \'Hello one!\', author: \'someone\'}\r\n
{title: \'Hello two!\', author: \'mygf\'}\r\n
{title: \'Hello three!\', author: \'darthvader\'}\r\n'
Run Code Online (Sandbox Code Playgroud)
此时我该如何转换呢?
我试过:
var dataArray = req.body.data.split('\r\n');
for (var i=0; i< dataArray.length; i++){
console.log(dataArray[i].title) // err because dataArray[i] is not obj
}
Run Code Online (Sandbox Code Playgroud)
如何正确制作objectdarray?
您拥有的不是有效的 JSON。如果您使用有效的 JSON(用双引号括起来的键和字符串值),那么您可以简单地使用JSON.parse():
var data = '{"title": "Hello one!", "author": "someone"}\r\n{"title": "Hello two!", "author": "mygf"}\r\n{"title": "Hello three!", "author": "darthvader"}';
var dataArray = data.split('\r\n');
for (var i=0; i<dataArray.length; i++){
dataArray[i] = JSON.parse(dataArray[i]);
console.log(dataArray[i]);
}Run Code Online (Sandbox Code Playgroud)
如果您想允许无效的 JSON,则需要分析字符串并找出键和值的位置,并将它们添加到新创建的对象中。
| 归档时间: |
|
| 查看次数: |
9683 次 |
| 最近记录: |