programing

JavaScript for loop을 사용하여 json을 작성하는 방법

goodsources 2023. 2. 10. 21:47
반응형

JavaScript for loop을 사용하여 json을 작성하는 방법

선택 태그 배열이 있습니다.

<select id='uniqueID' name="status">
      <option value="1">Present</option>
      <option value="2">Absent</option>
 </select>

두 개의 필드를 가진 json 객체를 만들고 싶다.[IDofSelect]와 [optionValue]를 선택합니다.

getElementsByName("status")을 사용하여 반복합니다.

편집

나는 같은 아웃풋이 필요하다.

[{"selectID":2,"OptionValue":"2"},
{"selectID":4,"optionvalue":"1"}]

기타 등등...

요청하신 내용에 따르면, 다음과 같습니다.

<script>
//  var status  = document.getElementsByID("uniqueID"); // this works too
var status  = document.getElementsByName("status")[0];
var jsonArr = [];

for (var i = 0; i < status.options.length; i++) {
    jsonArr.push({
        id: status.options[i].text,
        optionValue: status.options[i].value
    });
}
</script>
var sels = //Here is your array of SELECTs
var json = { };

for(var i = 0, l = sels.length; i < l; i++) {
  json[sels[i].id] = sels[i].value;
}

다음과 같은 단일 JavaScript 개체를 원하는 경우:

{ uniqueIDofSelect: "uniqueID", optionValue: "2" }

(옵션 2, "부재"가 현재 선택 사항입니다) 다음 코드가 생성해야 합니다.

  var jsObj = null;
  var status = document.getElementsByName("status")[0];
  for (i = 0, i < status.options.length, ++i) {
     if (options[i].selected ) {
        jsObj = { uniqueIDofSelect: status.id, optionValue: options[i].value };
        break;
     }
  }

(선택한 개체뿐만 아니라) 모든 개체를 배열하려면 michael의 코드를 사용하여 스왑 아웃합니다.status.options[i].text위해서status.id.

선택한 개체의 JSON 표현을 포함하는 문자열을 원하는 경우 대신 다음을 사용하십시오.

  var jsonStr = "";
  var status = document.getElementsByName("status")[0];
  for (i = 0, i < status.options.length, ++i) {
     if (options[i].selected ) {
        jsonStr = '{ '
                  + '"uniqueIDofSelect" : '
                  + '"' + status.id + '"'
                  + ", "
                  + '"optionValue" : '
                  + '"'+ options[i].value + '"'
                  + ' }';
        break;
     }
  }

for loop에 의해 생성된 문자열에서 JavaScript Object를 작성하려면 JSON에서 Object로 접근합니다.루프를 반복하여 JSON 문자열을 생성한 후 인기 있는 JavaScript Framework를 사용하여 JSON to Object를 평가합니다.

JavaScript Framework 프로토타입을 사용한 이 있습니다.키와 값이 있는 어레이가 2개 있습니다.루프를 반복하여 유효한 JSON 문자열을 생성합니다.evalJSON() 함수를 사용하여 JSON 문자열을 JavaScript 개체로 변환합니다.

다음은 코드 예시입니다.FireBug Console 테스트

var key = ["color", "size", "fabric"];
var value = ["Black", "XL", "Cotton"];

var json = "{ ";
for(var i = 0; i < key.length; i++) {
    (i + 1) == key.length ? json += "\"" + key[i] + "\" : \"" + value[i] + "\"" : json += "\"" + key[i] + "\" : \"" + value[i] + "\",";
}
json += " }";
var obj = json.evalJSON(true);
console.log(obj);

당신의 질문은 해독하기가 꽤 어렵지만, 한번 시도해 보겠습니다.

다음과 같이 말합니다.

jascript로 두 개의 필드를 가진 json 객체를 만들고 싶습니다.

그리고 당신은 말한다:

다음과 같은 출력이 필요합니다.

[{"selectID":2,"optionValue":"2"},
{"selectID":4,"optionvalue":"1"}]

이 출력 예에서는 필드 이름은 없고 필드 이름만 있습니다.

어쨌든, 당신은 물건의 배열을 요구하고 있습니다...

그리고 마이클스에게 댓글로 이렇게 대답해요.

json 오브젝트 어레이를 만듭니다만, json 오브젝트는 1개만 필요합니다.

그럼 물건 배열은 필요없다는 건가요?

그럼, 무엇을 원하세요?

결정을 해요.

언급URL : https://stackoverflow.com/questions/920930/how-to-create-json-by-javascript-for-loop

반응형