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.stringify
JSON 문자열을 생성하는 함수입니다.
자세한 것은, 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
'programing' 카테고리의 다른 글
jascript에서 json 키와 값을 얻는 방법은 무엇입니까? (0) | 2023.03.18 |
---|---|
Angular에서 속성 접두사 "x-" 및 "data-"는 어떻게 사용됩니까?JS (0) | 2023.03.18 |
Internet Explorer에서 Simple jQuery Ajax 호출로 메모리 누수가 발생함 (0) | 2023.03.13 |
핫 새로고침 시 프로세스가 정의되지 않음 (0) | 2023.03.13 |
woocommerce 감사 페이지의 헤드 태그에 javascript 코드를 삽입합니다. (0) | 2023.03.13 |