아이파크
442
2020-07-20 17:11:35 작성 2020-07-20 17:17:42 수정됨
2
309

javascript, jquery를 이용해 jason 데이터 만들기


안녕하십니까


제가 아래와 같은 형식으로 json 데이터를 만들어야하는데

cpu: {

checktype: cpu

alert_percentage: 70

error_percentage: 90

...

}


memory: {

checktype: memory

alert_percentage: 80

error_percentage: 80

...

}


jsp 내용은 다음과 같습니다.

<input type="text" class="form-control input-sm percentage" id="cpu_alert_percentage" name="alert_percentage" checktype="cpu"/>
<input type="text" class="form-control input-sm percentage" id="cpu_error_percentage" name="error_percentage" checktype="cpu"/>
<input type="text" class="form-control input-sm" id="disk_alert_percentage" name="alert_percentage" checktype="disk" />
<input type="text" class="form-control input-sm" id="disk_error_percentage" name="error_percentage" checktype="disk"/>


제 생각은 checktype이 cpu인 것 그룹을 가져와 name에 따라 그 value값을 넣어야 한다고 생각했어서


var cpu = $('input[checktype=cpu]');

$.each(cpu, function (index, item) {

param.put("CPU",{ alert_percentage: item.getElementsByName('alert_percentage').val(),
error_percentage: item.getElementsByName('error_percentage').val(),

})

이런느낌? 의 코드를 생각하게 됬는데 (getElement에서 오류납니다) 어떻게 하면 위와 같은 데이터로 가장 Best하게 만들수 있을 까요?






0
  • 답변 2

  • kiroki
    796
    2020-07-20 17:24:28 작성 2020-07-20 17:28:26 수정됨


    const checkTypes = ["cpu", "disk"];
    
    let result = [];
    
    checkTypes.forEach(checkType => {
      let resourceConfig = {};
      let inputs = document.querySelectorAll("input[checktype="+checkType+"]");
    for(let i = 0; i < inputs.length; i++){ resourceConfig[inputs[i].getAttribute("name")] = inputs[i].value;
    } result.push(resourceConfig); });


  • 아이파크
    442
    2020-07-20 17:34:53

    감사합니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.