Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将html文本区域值转换为json?_Javascript_Html_Json_Node.js - Fatal编程技术网

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>