JavaScript 将一些数据包装到 json 数组中

标签 javascript arrays json

我想从此字符串值创建 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/

相关文章:

java - 安卓 : How to get JSON object keys from this json:

json - 重新格式化 JSON 数据以适应树状存储

javascript - 如何防止在没有 "#"的情况下使用 onclick 重新加载?

javascript - Django "static"文件 - Javascript

php - 如何在 PHP 中获取关联数组中的前 n 个键?

MySQL JSON_OBJECT 而不是 GROUP_CONCAT

mysql - 如何在mysql 5.7中的json数组类型上创建索引

javascript - d3 - 在 svg 元素之上渲染 html 表格

javascript - phonegap XMLHttpRequest responseText 在 android 中为空,但在 iphone 中包含数据

java - 数组中所有数字都被 2 整除的次数