sourcecode

키 이름을 몰라도 JSON 객체의 요소에 액세스합니다.

codebag 2023. 3. 4. 14:54
반응형

키 이름을 몰라도 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

반응형