使用 Javascript 将行添加到数组 json

Add row to array json with Javascript

本文关键字:数组 json 添加 Javascript 使用      更新时间:2023-09-26

例如,我通过文本区域获得此值:

  • 第 1 行:<h1> title 1 </h1>
  • 第 2 行:<h2> title 2 </h2>

并保存在"var cover"中

我想像这样添加数组 json:

"cover": [
    "<h1> title 1 </h1>","<h2> title 2 </h2>"
]

我的意思是,每一行都成为数组 json 的一个字段。我试过了:

JSON.stringify(cover);

但结果是这样的:

"<h1> title 1 </h1>'n<h2> title 2 </h2>"

谢谢:D

var myString = "<h1>Title 1</h1>'r'n<h1>Title 2</h1>";
var myObject = myString.split("'r'n");

您将拥有:

["<h1>Title 1</h1>", "<h1>Title 2</h1>"]
''

r' 是一个换行符,可能是您将从文本区域中得到的换行符。

编辑JSON.stringify() 用于将对象转换为字符串,以便例如可以将其发送到服务器。JSON.parse() 则相反。JSON.parse(JSON.stringify(myObject)) 会给你与上面相同的代码。

您可以使用 JavaScript split 函数来创建数组。看看我的例子。

function getCover() {
  var str = document.getElementById("textarea").value;
  var obj = {cover: str.split("'n")};
  document.getElementById("output").innerHTML = JSON.stringify(obj)
}
<textarea id="textarea">
line1
line2
line3
line4</textarea>
<br>
<button onclick="getCover()">Get Object</button>
<br><br>
Output:<div id="output"></div> 

// Line break:
var br = "'r'n";
// Input string:
var str = "<h1> title 1 </h1>" + br
    + "<h2> title 2 </h2>" + br
;
// All rows: [ '<h1> title 1 </h1>', '<h2> title 2 </h2>', '' ]
var all = str.split(br);
// ...or even better: [ '<h1> title 1 </h1>', '<h2> title 2 </h2>' ]
var notEmpty = str.split(br).filter(function(txt){return txt.length;});