programing

jquery를 사용하여 각 입력 값을 사용하여 동적으로 JSON 생성

instargram 2023. 3. 18. 08:15
반응형

jquery를 사용하여 각 입력 값을 사용하여 동적으로 JSON 생성

PHP를 통해 JSON 포맷에서 데이터를 읽고 싶은데, JSON 포맷을 동적으로 작성하기 위해 Javascript 오브젝트를 어떻게 작성해야 하는지 이해하는데 어려움이 있습니다.

저의 시나리오는 다음과 같습니다.

<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'}]

입력 필드 값에 의해 전자 메일이 취득되는 위치.

다음과 같이 합니다.

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키로서 「mail」과「email」을 사용합니다.그런 다음 각 개체를 어레이에 추가합니다.

끈이 필요하시면 하세요.

jsonString = JSON.stringify(jsonObj);

출력 예시

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

JSON 문자열이 출력으로 필요한 경우 jQuery만 사용하여 JavaScript 객체를 JSON 문자열로 만들 수는 없다고 생각합니다.

타겟 브라우저에 따라서는JSON.stringifyJSON 문자열을 생성하는 함수입니다.

자세한 것은, http://www.json.org/js.html 를 참조해 주세요.JSON 오브젝트를 네이티브로 지원하지 않는 오래된 브라우저용 JSON 파서도 있습니다.

고객님의 경우:

var array = [];
$("input[class=email]").each(function() {
    array.push({
        title: $(this).attr("title"),
        email: $(this).val()
    });
});
// then to get the JSON string
var jsonString = JSON.stringify(array);

이것이 도움이 될지도 모릅니다, 가능한 한 순수 JS를 선호합니다.JQuery 함수 호출이 많지 않기 때문에 성능이 대폭 향상됩니다.

var obj = [];
var elems = $("input[class=email]");

for (i = 0; i < elems.length; i += 1) {
    var id = this.getAttribute('title');
    var email = this.value;
    tmp = {
        'title': id,
        'email': email
    };

    obj.push(tmp);
}

위의 예시와 같음 - json(개체 배열이 아님)을 찾고 있는 경우 사용만 하면 됩니다.

function getJsonDetails() {
      item = {}
      item ["token1"] = token1val;
      item ["token2"] = token1val;
      return item;
}
console.log(JSON.stringify(getJsonDetails()))

이 출력은 (유효한 json)으로 출력됩니다.

{ 
   "token1":"samplevalue1",
   "token2":"samplevalue2"
}

이거 해봤어요.

// Sample JS object
var varobject = {
  name: "Name", 
  Intern: "Test", 
};

// Converting JS object to JSON string
JSON.stringify(varobject);

언급URL : https://stackoverflow.com/questions/15009448/creating-a-json-dynamically-with-each-input-value-using-jquery

반응형