一尘不染

使用jquery动态创建每个输入值的JSON

json

我遇到了一种情况,我想通过PHP从JSON格式读取一些数据,但是在理解如何构造Javascript对象以动态创建JSON格式时遇到了一些问题。

我的情况如下:

<input title="QA" type="text" class="email">
<input title="PROD" type="text" class="email">
<input title="DEV" type="text" class="email">

到目前为止,我拥有的Javascript代码会通过每个输入获取数据,但是我无法理解如何从此开始处理。

var taskArray = {};

$("input[class=email]").each(function() {
  var id = $(this).attr("title");
  var email = $(this).val();

  //how to create JSON?

});

如果可能,我希望获得以下输出。

[{title: QA, email: 'a@a.com'}, {title: PROD, email: 'b@b.com'},{title: DEV, email: 'c@c.com'}]

通过输入字段值获取电子邮件的位置。


阅读 249

收藏
2020-07-27

共1个答案

一尘不染

像这样:

function createJSON() {
    jsonObj = [];
    $("input[class=email]").each(function() {

        var id = $(this).attr("title");
        var email = $(this).val();

        item = {}
        item ["title"] = id;
        item ["email"] = email;

        jsonObj.push(item);
    });

    console.log(jsonObj);
}

说明

您正在寻找an array of objects。因此,您将创建一个空白数组。input通过使用“标题”和“电子邮件”作为键为每个对象创建一个对象。然后,将每个对象添加到数组。

如果您需要字符串,请执行

jsonString = JSON.stringify(jsonObj);

样本输出

[{"title":"QA","email":"a@b"},{"title":"PROD","email":"b@c"},{"title":"DEV","email":"c@d"}]
2020-07-27