키 이름을 몰라도 JSON 객체의 요소에 액세스합니다.
제 아들입니다.
{"d":{"key1":"value1",
      "key2":"value2"}}
키가 무엇인지 몰라도 이 배열의 키와 값(javascript)에 액세스할 수 있는 방법이 있습니까?
제 json이 이렇게 구성된 이유는 jquery로 호출하는 webmethod가 사전을 반환하고 있기 때문입니다.위의 방법으로 작업을 할 수 없는 경우, 데이터 반환 방법에 대해 무엇을 변경해야 합니까?
다음은 제 웹 방법의 개요입니다.
<WebMethod()> _
Public Function Foo(ByVal Input As String) As Dictionary(Of String, String)
    Dim Results As New Dictionary(Of String, String)
    'code that does stuff
    Results.Add(key,value)
    Return Results
End Function
를 사용할 수 있습니다.for..in오브젝트의 임의의 속성을 반복하도록 구성합니다.
for (var key in obj.d) {
    console.log("Key: " + key);
    console.log("Value: " + obj.d[key]);
}
이게 당신이 찾고 있던 건가요?
var data;
for (var key in data) {
   var value = data[key];
   alert(key + ", " + value);
}
{
  "d":{
     "key1":"value1",
     "key2":"value2"
    }
}
첫 번째 키 쓰기에 액세스하려면:
   let firstKey=Object.keys(d)[0];
첫 번째 키 쓰기 값에 액세스하려면:
let firstValue= d[firstKey];
단어 "b"를 사용해도 여전히 키 이름을 사용하고 있습니다.
var info = {
"fname": "Bhaumik",
"lname": "Mehta",
"Age": "34",
"favcolor": {"color1":"Gray", "color2":"Black", "color3":"Blue"}
};
아래 토막을 보세요.
for(key in info) {
  var infoJSON = info[key];
  console.log(infoJSON);
}
결과는 다음과 같습니다.
Bhaumik
Mehta
Object {color1: "Gray", color2: "Black", color3: "Blue"} 
마지막 줄이 안 보이길 바라나요?다음 코드를 사용해 보십시오.
for(key in info) {
  var infoJSON = info[key];
    if(typeof infoJSON !== "object"){
       console.log(infoJSON);
  }
}
이렇게 하면Object {color1: “Gray”, color2: “Black”, color3: “Blue”}콘솔에는 표시되지 않습니다.
이제 변수 infoJ를 통해 반복해야 합니다.어레이 값을 가져오려면 SON을 선택합니다.다음 코드 전체를 보세요.
for(key in info) {
    var infoJSON = info[key];
    if (typeof infoJSON !== "object"){
       console.log(infoJSON);
    }
 }
for(key1 in infoJSON) {
    if (infoJSON.hasOwnProperty(key1)) {
       if(infoJSON[key1] instanceof Array) {
          for(var i=0;i<infoJSON[key1].length;i++) {
             console.log(infoJSON[key1][i]);
          }
        } else {console.log(infoJSON[key1]);}
    }
 }
그리고 이제 우리는 그 결과를 얻었다.
Bhaumik
Mehta
Gray
Black
Blue
키 이름 또는 ID를 사용하면 JSON 개체에서 값을 쉽게 얻을 수 있지만 여기서는 키 이름 또는 ID를 사용하지 않고 값을 얻을 수 있습니다.
같은 목적을 달성하기 위해 루프에 사용합니다.
var dlist = { country: [ 'ENGLAND' ], name: [ 'CROSBY' ] }
for(var key in dlist){
     var keyjson = dlist[key];
     console.log(keyjson)
   }언급URL : https://stackoverflow.com/questions/5113847/accessing-elements-of-json-object-without-knowing-the-key-names
'sourcecode' 카테고리의 다른 글
| JSON 개체에서 __type 속성을 직렬화하지 않는 방법 (0) | 2023.03.04 | 
|---|---|
| 요소의 각 ng-반복 조건부 랩 항목(ng-반복 그룹 항목) (0) | 2023.03.04 | 
| 최근 Fast CGI 프로세스가 자주 실패함 - IIS 7.5에서의 WP의 경우 (0) | 2023.03.04 | 
| Spring Boot을 사용하여 Dropbox 폴더에 있는 정적 콘텐츠를 처리하려면 어떻게 해야 합니까? (0) | 2023.03.04 | 
| ErrorBoundary를 사용하여 캡처한 후에도 여전히 오류가 표시되는 반응 (0) | 2023.03.04 |