2013-04-16 4 views
1

나는 내 서버에서 데이터를 검색하는 API를 생성 한 후이 같은 JSON 형식으로 데이터를 얻을 : 어떻게 내 JSON 데이터를 동적으로 jQuery를 사용하여 반복 할jQuery를 루핑 JSON 데이터

{ 
"items": [ 
    { 
     "2013-03-28": 1771, 
     "2013-03-29": 1585, 
     "2013-03-30": 1582, 
     "2013-03-31": 1476, 
     "2013-04-01": 2070, 
     "2013-04-02": 2058, 
     "2013-04-03": 1981, 
     "2013-04-04": 1857, 
     "2013-04-05": 1806, 
     "2013-04-06": 1677, 
     "2013-04-07": 1654, 
     "2013-04-08": 2192, 
     "2013-04-09": 2028, 
     "2013-04-10": 1974, 
     "2013-04-11": 1954, 
     "2013-04-12": 1813, 
     "2013-04-13": 1503, 
     "2013-04-14": 1454, 
     "2013-04-15": 1957, 
     "2013-04-16": 1395 
    } 
    ] 
} 

? 내 코드 :

<html> 
<head></head> 
<body> 
<script src="jquery-1.9.1.js"></script> 
<script> 
    $(document).ready(function() { 
    $.ajax({ 
     type : "GET", 
     url: "myurl.php", 
     cache: false, 
     dataType: "jsonp", 
     success:function(data){ 
      if(data==''){ 
       alert('Fail'); 
      }else{ 
       alert('Success'); 
      } 
     } 
    }) 
    }); 
</script> 
</body> 
</html> 

가 어떻게 내 jQuery를 동적으로 데이터 나 데이터 위에 쓴 예에서와 같이 매일 변경됩니다 날로부터 데이터를 가져 오기 위해 수정합니까? 덕분에 전에 ...

답변

1

// 당신의 상세 정보를 얻을 items

$.each(data.items[0], function (key, value) { 
    console.log(key + ": " + value); 
    var date = key; 
    var number = value; 
}); 

DEMO HERE

3

가 귀하의 예제 데이터로 고려해야 할 몇 가지가 있지만 귀하의 경우, 다음과 같은 트릭 할 것입니다 :

var importantObject = data.items[0]; 
for(var item in importantObject){ 
    var theDate = item;//the KEY 
    var theNumber = importantObject[item];//the VALUE 
} 

Here is a working example

을하지만 모두 수행 이 평균? ...

우선 우리가 작업하고자하는 객체를 가져와야합니다. 이것은 { } (객체를 의미 함) - 배열이 정의 된 날짜/숫자 목록입니다.로. items 배열이다

var importantObject = data.items[0]; 

때문에, 우리가 원하는 객체는 어레이의 첫 번째 항목이다 : 주어진 예, 이것은과 같이 달성된다.

그러면 우리는 효과적으로 개체의 모든 속성을 반복하는 foreach 기술을 사용할 수 있습니다. 이 예에서, 속성은 날짜 값은 다음과 같습니다 우리는 속성을 반복하기 때문에

for(var item in importantObject){ ... } 

item이 속성 값 (예 : 날짜 비트)입니다, 그래서 항목 날짜 값입니다 :

var theDate = item;//the KEY 

마지막으로 우리는 숫자 부분을 얻습니다. 우리가 지금처럼 (object를 기준으로) 부동산 지수의 문자열 값을 사용하여 특정 객체의 속성 값에 액세스 할 수 있습니다 : 당신이 이미 알고있는 경우

var theNumber = importantObject[item];//the VALUE 

는 값을 원하는 날짜하는 그러면 다음과 같이 직접 액세스 할 수 있습니다.

var myValue = data.items[0]["2013-04-16"];//myValue will be 1395 in this example 
+0

다른 문자열에 저장 됨 –

+0

@BerthoJoris : 어떻게하는지 보여 줬어. theDate는 날짜/키이고 theNumber는 숫자/값이다. – musefan

1

jQuery each function을 사용하면이 작업을 수행 할 수 있습니다. 이런 예 : k 키이며 v 현재 처리 항목의 값

$.each(data, function(k, v) { 
    // Access items here 
}); 

.

1

을 통해 jQuery.each() 루프를 사용.

var detail = data.items [0];

$ .each (세부 사항, 기능 (키, 발) {

console.log(key + ": " + val); 

}

내가 문자열에서 떨어져 날짜와 값을 가지고 싶다면? 내가 키와 값을 무엇을 의미