javascript - 추가 - json 동적 key




jquery를 사용하여 각 입력 값으로 동적으로 JSON 만들기 (3)

JSON 문자열 만 출력한다고 가정 할 때 jQuery 만 사용하여 JavaScript 객체를 JSON 문자열로 변환 할 수 있다고 생각하지 않습니다.

타겟팅하는 브라우저에 따라 JSON.stringify 함수를 사용하여 JSON 문자열을 생성 할 수 있습니다.

자세한 내용은 http://www.json.org/js.html 을 참조 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);

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">

지금까지 각 입력을 통해 데이터를 가져 오는 자바 스크립트 코드는 여기에서 처리하는 방법을 이해할 수 없습니다.

var taskArray = {};

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

  //how to create JSON?

});

가능하다면 다음 결과를 얻고 싶습니다.

[{title: QA, email: '[email protected]'}, {title: PROD, email: '[email protected]'},{title: DEV, email: '[email protected]'}]

전자 메일을 입력 필드 값으로 가져 오는 위치입니다.

이 상황에 비추는 모든 빛은 크게 감사하겠습니다!


너는 할 수있어.

str = '{ "+ yourKey +":'+ yourValue + '}'; str = JSON.parse (str);


이렇게 :

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 찾고 an array of objects . 그래서 빈 배열을 만듭니다. '제목'과 '이메일'을 키로 사용하여 각 input 에 대한 개체를 만듭니다. 그런 다음 각 객체를 배열에 추가합니다.

문자열이 필요하면 다음을 수행하십시오.

jsonString = JSON.stringify(jsonObj);

샘플 출력

[{"title":"QA","email":"[email protected]"},{"title":"PROD","email":"[email protected]"},{"title":"DEV","email":"[email protected]"}] 




html5