Javascript 如何将html文本区域值转换为json?
客户端Javascript 如何将html文本区域值转换为json?,javascript,html,json,node.js,Javascript,Html,Json,Node.js,客户端 .. some form <textarea name="data"></textarea> 最后提交表格 服务器 服务器将像这样升级 '{title: \'Hello one!\', author: \'someone\'}\r\n {title: \'Hello two!\', author: \'mygf\'}\r\n {title: \'Hello three!\', author: \'darthvader\'}\r\n' 在这一点上,我如何转换它
.. some form
<textarea name="data"></textarea>
最后提交表格
服务器
服务器将像这样升级
'{title: \'Hello one!\', author: \'someone\'}\r\n
{title: \'Hello two!\', author: \'mygf\'}\r\n
{title: \'Hello three!\', author: \'darthvader\'}\r\n'
在这一点上,我如何转换它
我试过:
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
}
var dataArray=req.body.data.split('\r\n');
对于(var i=0;i
我怎样才能使objectdarray正确
<textarea id = "textData" name="data"></textarea>
let textdata = $('#textData').value;
在获取数据时
var dataArray = JSON.parse(req.body.data);
因此textArea数据保持不变。您拥有的不是有效的JSON。如果使用(用双引号括起来的键和字符串值),则只需使用:
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');
对于(var i=0;i首先,它不是JSON。它只是javascript中的一些数据数组。为什么?因为JSON在每个键和值中使用引号
{"key":"value"}
第二,有助于减少编码。您可以添加隐藏输入,并将其值设置为textarea值。请看以下代码:
<textarea id="txta" name="txta">
<input type="hidden" name="txtahid" id="txtahid" value="">
<script>
setInterval(function(){
document.getElementById("txtahid").value = document.getElementById("txta").value
},200);
</script>
setInterval(函数(){
document.getElementById(“txtahid”).value=document.getElementById(“txta”).value
},200);
希望它能帮助您。如果您首先键入JSON,这会有所帮助。目前,您必须为自定义数据格式编写解析器。为什么不在textarea中输入正确的有效JSON?
{"key":"value"}
<textarea id="txta" name="txta">
<input type="hidden" name="txtahid" id="txtahid" value="">
<script>
setInterval(function(){
document.getElementById("txtahid").value = document.getElementById("txta").value
},200);
</script>