js json 에서 key 에 대응 하 는 value 값 을 가 져 오 는 간단 한 방법

8027 단어 jsonkeyvalue
실례 는 다음 과 같다.

<script type="text/javascript"> 
 getJson('age'); 
 
function getJson(key){ 
 var jsonObj={"name":"   ","age":"24","profession":"  "}; 
 
 
 //1、  eval    
 var eValue=eval('jsonObj.'+key); 
 alert(eValue); 
 
 
 //2、  Json       
 for(var item in jsonObj){ 
  if(item==key){ //item   Json     , 'name' 
   var jValue=jsonObj[item];//key    value 
   alert(jValue); 
  } 
 } 
 
 
 //3、     
 alert(jsonObj[''+key+'']); 
} 
</script> 
위의 세 가지 방법 을 통 해 json 에서 key 에 대응 하 는 값 을 얻 을 수 있 습 니 다.
js 방식 으로 인터페이스 에 있 는 json 데이터 의 key 와 value 값 을 가 져 옵 니 다.
여러분 들 이 실제 작업 에서 인터페이스 에 대한 문 제 를 만 나 는 것 을 피하 기 어렵 습 니 다.반드시 일부 소 백 에 게 데이터 라 고 생각 하 는 것 도 골 치 아 플 것 입 니 다.그러면 저 는 인터페이스의 실제 상황 과 결합 하여 안에 해당 하 는 데 이 터 를 어떻게 얻 는 지 알려 드 리 겠 습 니 다.
인터페이스 데이터 예:(데 이 터 는 아 날로 그 데이터,json 형식)

{
  "month": {
    "monthly": ["2018 4 ", "2018 5 "]
  },
  "nameAndRateOperation": {
    "          ": ["91.67", "91.67"],
    "            ": ["84", "84"],
    "          ": ["85.71", "85.71"],
    "             ": ["70", "80"],
    "          ": ["90", "90"],
    "          ": ["70", "75"],
    "            ": ["81.25", "81.25"],
    "          ": ["86", "86"],
    "           ": ["86.68", "80"],
    "          ": ["85", "85"]
  },
  "nameAndYield": {
    "          ": ["1.2", "1.2"],
    "            ": ["4", "4"],
    "          ": ["2.4", "2.4"],
    "             ": ["0.8", "1"],
    "          ": ["0.67", "0.5"],
    "          ": ["0.2", "0.25"],
    "            ": ["1.6", "1.6"],
    "          ": ["0.8", "0.8"],
    "           ": ["2", "2.5"],
    "          ": ["4.33", "4.5"]
  },
  "nameAndDateTime": {
    "          ": ["2018 4 ", "2018 5 "],
    "            ": ["2018 4 ", "2018 5 "],
    "          ": ["2018 4 ", "2018 5 "],
    "             ": ["2018 4 ", "2018 5 "],
    "          ": ["2018 4 ", "2018 5 "],
    "          ": ["2018 4 ", "2018 5 "],
    "            ": ["2018 4 ", "2018 5 "],
    "          ": ["2018 4 ", "2018 5 "],
    "           ": ["2018 4 ", "2018 5 "],
    "          ": ["2018 4 ", "2018 5 "]
  },
  "regionAndCompany": {
    "  ": ["             ", "          ", "          ", "           ", "          ", "            ", "          ", "          ", "          ", "            "]
  },
  "nameAndCapacity": {
    "          ": ["6", "6"],
    "            ": ["5", "5"],
    "          ": ["7", "7"],
    "             ": ["30", "30"],
    "          ": ["20", "20"],
    "          ": ["20", "20"],
    "            ": ["8", "8"],
    "          ": ["10", "10"],
    "           ": ["15", "15"],
    "          ": ["10", "10"]
  },
  "storageWithCompany": {
    "          ": ["0.8", "0.8"],
    "            ": ["3.2", "3.2"],
    "          ": ["2.2", "2.2"],
    "             ": ["1.2", "1.2"],
    "          ": ["0.5", "0.5"],
    "          ": ["0.15", "0.15"],
    "            ": ["1", "1"],
    "          ": ["0.5", "1"],
    "           ": ["1.5", "1.5"],
    "          ": ["2.5", "2.5"]
  }
}

json  
코드 가 져 오기

//        :    ....
            for (var key in data.regionAndCompany) {
              region.push(key);
            }
            // console.log(region)
            
            //           
            for (key in data.storageWithCompany) {
              storageWithCompany.push(data.storageWithCompany[key])
            }
            // console.log(storageWithCompany)

            // //           
            // for(key in data.nameAndCapacity){
            //   capacity.push(data.nameAndCapacity[key])
            // }
            // // console.log(capacity)

            //            
            for (key in data.nameAndRateOperation) {
              rateOperation.push(data.nameAndRateOperation[key])
            }
            // console.log(rateOperation)

            //       
            for (key in data.nameAndRateOperation) {
              companyRateOperation.push(key);
            }
            // console.log(companyRateOperation)
            
            //       ,    
            for (var key in data.nameAndDateTime) {
              date.push(data.nameAndDateTime[key])
            }
            // console.log(date)
            
            //       ,  ,            
            for (var key in data.nameAndYield) {
              yield.push(data.nameAndYield[key])
            }
            // console.log(yield)
인터넷 에 올 리 는 방법.
js 에서 object 형식의 키 를 가 져 오 는 방법
최근 에 문제 가 하나 생 겼 습 니 다.
var obj={"name 1":"장삼","name 2":"이사"};
var key = "name1";
var value = obj.key;//"undefined"를 얻 었 습 니 다.
value = obj.name1;//'장삼'을 받았어요.
사실 저 는 키 에 게 동적 으로 값 을 부여 하고 키 가 맞 는 값 을 얻 고 싶 습 니 다.그러나 이 방법 은 통 하지 않 습 니 다.obj.key 는 obj 아래 key 가'key'에 대응 하 는 값 을 찾 습 니 다.결 과 는 당연히 찾 을 수 없습니다.
그래서 나 는 js 에서 대상 속성 을 옮 겨 다 니 는 방법 을 생각 했다.

function printObject(obj){
	//obj = {"cid":"C0","ctext":"  "};
	var temp = "";
	for(var i in obj){// javascript for/in         
		temp += i+":"+obj[i]+"
"; } alert(temp);// :cid:C0
ctext: }
이렇게 하면 js 중의 한 대상 의 key 와 value 가 각각 무엇 인지 알 수 있다.
아까 질문 으로 돌아 가서 키 에 게 어떻게 동적 으로 값 을 부여 하고 obj.key 방식 으로 대응 하 는 value 를 얻 습 니까?
사실 상기 printObject 에서 힌트 가 있 습 니 다.그것 은 바로 obj[key]의 방법 입 니 다.key 는 동적 일 수 있 습 니 다.그러면 제 가 위 에서 제기 한 문 제 를 해결 할 수 있 습 니 다.
마지막 으로 한 가지 방법 도 있 습 니 다.그것 은 바로 eval("obj."+key)입 니 다.
요약:
js 에서 동적 키 에 따라 대상 에 대응 하 는 value 를 얻 으 려 는 방법 은 두 가지 가 있다.
1.var key="name 1";var value = obj[key];
2.var key="name 1";var value = eval("obj."+key);
이상 의 이 js 가 json 에서 key 에 대응 하 는 value 값 을 얻 는 간단 한 방법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 많은 응원 을 바 랍 니 다.

좋은 웹페이지 즐겨찾기