programing

javascript가 있는 개체와 함께 JSON 배열 사용

oldcodes 2023. 2. 23. 23:03
반응형

javascript가 있는 개체와 함께 JSON 배열 사용

오브젝트 포함 JSON 어레이를 취득하는 기능이 있습니다.기능에서는 어레이를 루프하여 속성에 액세스하고 해당 속성을 사용할 수 있습니다.다음과 같이 합니다.

함수에 전달할 변수는 다음과 같습니다.

[{
  "id": 28,
  "Title": "Sweden"
}, {
  "id": 56,
  "Title": "USA"
}, {
  "id": 89,
  "Title": "England"
}]

function test(myJSON) {
  // maybe parse my the JSON variable?
  // and then I want to loop through it and access my IDs and my titles
}

어떻게 하면 해결할 수 있을까요?

이것은 단일 JSON 개체가 아닙니다.JSON 개체 배열이 있습니다.먼저 어레이를 루프오버한 다음 각 개체에 액세스해야 합니다.다음 킥오프 예가 도움이 될 수 있습니다.

var arrayOfObjects = [{
  "id": 28,
  "Title": "Sweden"
}, {
  "id": 56,
  "Title": "USA"
}, {
  "id": 89,
  "Title": "England"
}];

for (var i = 0; i < arrayOfObjects.length; i++) {
  var object = arrayOfObjects[i];
  for (var property in object) {
    alert('item ' + i + ': ' + property + '=' + object[property]);
  }
  // If property names are known beforehand, you can also just do e.g.
  // alert(object.id + ',' + object.Title);
}

JSON 오브젝트 배열이 플레인 바닐라 문자열로 실제로 전달되는 경우eval()여기서.

var string = '[{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}]';
var arrayOfObjects = eval(string);
// ...

JSON 의 상세한 것에 대하여는, 다음의 MDN Web 문서를 참조해 주세요. JSON을 사용한 작업

이것은 당신의 것입니다.dataArray:

[
   {
      "id":28,
      "Title":"Sweden"
   },
   {
      "id":56,
      "Title":"USA"
   },
   {
      "id":89,
      "Title":"England"
   }
]

그리고나서parseJson사용할 수 있습니다.

$(jQuery.parseJSON(JSON.stringify(dataArray))).each(function() {  
    var ID = this.id;
    var TITLE = this.Title;
});

"JSON 배열 containing objects"라는 말은 JSON을 포함하는 문자열을 말하는 건가요?

만약 그렇다면 당신은 금고를 사용할 수 있습니다.var myArray = JSON.parse(myJSON)방법(원어민 또는 JSON2를 사용하여 포함) 또는 USFEvar myArray = eval("(" + myJSON + ")"). 보통 평가는 피해야 하지만 콘텐츠의 안전성이 확실하다면 문제가 없습니다.

그 후 어레이를 정상적으로 반복합니다.

for (var i = 0; i < myArray.length; i++) {
    alert(myArray[i].Title);
}

당신의 질문은 약간 불완전한 것 같습니다만, 저는 당신이 찾고 있는 것이 당신의 코드에 당신의 JSON에 접근할 수 있도록 하는 방법이라고 생각합니다.

위와 같은 JSON 문자열이 있는 경우 이 작업만 수행하면 됩니다.

var jsonObj = eval('[{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}]');

그런 다음 jsonObj[0]id와 같은 것으로 이러한 값에 액세스할 수 있습니다.

그게 네가 말하고자 하는 것이 아니라면 알려줘. 내가 도와주려고 노력할게.

M

@Swapnil Godambe JSON.stringfy를 제거하면 됩니다.즉, 다음과 같습니다.

$(jQuery.parseJSON(dataArray)).each(function() {  
    var ID = this.id;
    var TITLE = this.Title;
});

var datas = [{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}];
document.writeln("<table border = '1' width = 100 >");
document.writeln("<tr><td>No Id</td><td>Title</td></tr>"); 
for(var i=0;i<datas.length;i++){
document.writeln("<tr><td>"+datas[i].id+"</td><td>"+datas[i].Title+"</td></tr>");
}
document.writeln("</table>");

언급URL : https://stackoverflow.com/questions/2799283/use-a-json-array-with-objects-with-javascript

반응형