2014-02-11 4 views
0

JSON에서 키 내에 키를 포함 할 수 있습니까? 그렇다면 jQuery에서이 키에 액세스하는 방법은 무엇입니까?JSON에서 다른 키 내에 키를 할당 할 수 있습니까?

$.getJSON('../JSON/cwdata.json', function (cwData) { 
    $newData = cwData;   
    $.each($newData, function (key, value) { 
     if (key === 'product[0].items[0]') { 
      $('#product').append('<li>'+ value +'</li>') 
    }); 
}); 

"#product는"순서가없는 목록입니다 : 내가 키 - 값에 액세스하는 데 사용하는

{ 
    "product": [{ 
     "category": "Clothing", 
     "items": [{ 
      "name": "Shirt", 
      "price": "$4.99" 
     }] 
    }, { 
     "category": "Food", 
     "items": [] 
    }, { 
     "category": "Electronics", 
     "items": [] 
    }] 
} 

이것은 jQuery를 수 있습니다 : 이 내 코드입니다.

참고 : 나는

+1

는'해야 { "이 열쇠": "이 값"}' –

답변

0

JSON이 유효하지 않습니다. 배열은 문자열을 키로 가질 수 없습니다. 그것은 같이 할 필요가 :

{ 
    "product": { 
     "Clothing": { 
      "Shirt": "$4.99" 
     }, 
     "Food": {}, 
     "Electronics": {} 
    } 
} 

또는 다음과 같이 할 수있다 :

{ 
    "product": [ 
     { 
      "category": "Clothing", 
      "items": [{ 
       "name": "Shirt", 
       "price": "$4.99" 
      }] 
     }, { 
      "category": "Food", 
      "items": [] 
     }, { 
      "category": "Electronics", 
      "items": [] 
     } 
    ] 
} 

는이 데이터를 반복 $.each 깊은 수준의 몇 가지를 사용하려면 :

$.each(cwData.product, function (i, product) { 
    console.log(product.category + " (" + product.items.length + " items)"); 
    $.each(product.items, function (i, item) { 
     console.log("\t" + item.name + ": " + item.price); 
    }); 
}); 
// output: 
// 
// Clothing (1 items) 
//  Shirt: $4.99 
// Food (0 items) 
// Electronics (0 items) 
+0

답변 해 주셔서 감사합니다. 다른 파일에서 JSON 코드에 액세스하는 데 사용하는 jQuery를 추가했지만 코드가 제대로 작동하지 않는 것 같습니다. JSON이 올바른 것 같지만. –

+0

수정 된 답변보기 기본적으로 당신은'$ .each'를 사용하여 객체를 반복 할 필요가 있습니다. 항목에 하위 항목이있는 경우 중첩 된'$ .each'를 사용합니다. –

1

는 네, 그것은 가능하다 살만 A. 올바르게 대답 한 코드에 내 JSON 코드를 변경했습니다. 그것은 이런 식이어야합니다.

"availability": ["six", "five"], 

    "connectivity": { "infrared": true, 
    "gps" : true 
    } 
+0

답장을 보내 주셔서 감사합니다. 키/값을 내가 사용하는 값으로 변경하십시오. 나는 혼란스러워하고있는 것 같다. 그리고 jQuery 나 JavaScript에서이 키/값에 어떻게 접근합니까? 다시 한번 감사드립니다. –

+0

늦게 답장을 드려 죄송합니다. 일하고 있었어. Salman A의 대답을 확인하십시오. Jquery를 통해 올바르게 제공했습니다. – AngularHarsh

관련 문제