我想从此字符串值创建 json 格式:
hello|world|this|is|javascript || my|name|is|mahdi
在创建的 json 数组中,我无法通过使用 ||
分割将此字符串包装为分隔符作为 2 个数组。我的代码工作正常,但在使用 ||
分割字符串后,我无法在 json 中创建一些数组。
结果我的代码是:
{
"FILEDS": [
{
"template_id": "123",
"fields_id": "456"
},
{
"item": "hello"
},
{
"item": "world"
},
{
"item": "this"
},
{
"item": "is"
},
{
"item": "javascript "
},
{
"item": " my"
},
{
"item": "name"
},
{
"item": "is"
},
{
"item": "mahdi"
}
]
}
但我想要像下面的 json 格式那样的结果:
{
"FILEDS": [
{
"template_id": "123",
"fields_id": "456"
},
[
{
"item": "hello"
},
{
"item": "world"
},
{
"item": "this"
},
{
"item": "is"
},
{
"item": "javascript "
}
],
[
{
"item": " my"
},
{
"item": "name"
},
{
"item": "is"
},
{
"item": "mahdi"
}
]
]
}
我的代码位于下面的代码中,如何在每个 for
中创建此数组以创建一些数据并将其包装到 []
?
<script type="text/javascript" language="JavaScript">
var data = "hello|world|this|is|javascript || my|name|is|mahdi";
var templates = {
FILEDS: []
};
templates.FILEDS.push({
"template_id": "123",
"fields_id": "456",
});
var split_data = data.split("||");
for (var i = 0; i < split_data.length; i++) {
var fields = split_data[i].split("|");
for (var j = 0; j < fields.length; j++) {
templates.FILEDS.push({
"item": fields[j],
});
}
}
console.log(JSON.stringify(templates));
</script>
最佳答案
试试这个;
var split_data = data.split("||");
for (var i = 0; i < split_data.length; i++) {
var sentence = [];
var fields = split_data[i].split("|");
for (var j = 0; j < fields.length; j++) {
sentence.push({
"item": fields[j],
});
}
templates.FILEDS.push(sentence)
}
关于JavaScript 将一些数据包装到 json 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32529177/