2012-05-28 3 views
1

div에 특정 ID를 가진 json 객체를 인쇄하는 방법을 알고 싶습니다. 내 JSON 파일은 다음과 같습니다 (단축) 자동으로 내가 사용하십시오 스웹 프로그램에 의해 생성됩니다Json은 특정 ID를 가진 객체 만 표시합니다.

"shipping":{ 
    "methods":{ 
    "core|13490|40699":{ 
     "id":"core|13490|40699", 
     "price":{ 
     "price_excl":"0.0000","price_incl":"0.0000" 
     } 
    }, 
    "core|10292|40695":{ 
     "id":"core|10292|40695", 
     "price":{ 
     "price_excl":"21.0084","price_incl":"25.0000" 
     } 
    } 
    } 
}, 

이처럼 내 스크립트 :

 window.onload = function(){ 
     $.getJSON('http://shop.com/cart/?format=json', function(data){ 
     $.each(data.cart.shipping.methods, function(index, method){ 
      $('<span></span>') 
      .html('<strong>' + method.price.price_incl + '</strong>') 
      .appendTo('.cart-shipping'); 
     }); 
     }); 
    }; 

내가 뭘 archieve하려고하는 경우에만를 그 id가 "core | 10292 | 40695"인 운송 방법의 운송 가격이 표시됩니다. 이 코드에는 배송비가 모두 표시되어 있습니다. 더 나아가 나는 그 가격을 25.000 대신에 '진짜'가격으로 어떻게 포맷해야하는지 알고 싶다.

저는 JSON, jquery/ajax를 처음 보았을 때 꽤 재미 있었지만 배울 의향이 있습니다. 위의 내용은이 사이트를 검색 할 때 성취했지만 내 질문은 실제로 파악할 수없는 내용입니다.

답변

1

간단한 if 문을 사용해 보셨습니까? 예를 들면 : 통화 포맷에 관해서

if (index == "core|10292|40695") { 
    $('<span></span>').html('<strong>' + method.price.price_incl + '</strong>').appendTo('.cart-shipping'); 
} 

, 나는 plenty of information available

+0

감사합니다. 이 작동합니다. -> if (index == "blabla") 또는 (index == "blabla2") 등과 같은 것을 가질 수도 있습니까? – Meules

+0

예,'if (index == "core | 10292 | 40695"|| index == "bla2")'같은 것을 할 수 있습니다. –

+0

이미 발견했습니다! 어쨌든 도와 주셔서 감사합니다 – Meules

-1

$('<span></span>').html("whatever")는 데이터를 포함하는 범위를 만듭니다있을거야하지만 범위는 아직 페이지에 표시되지 않습니다.

페이지에 컨테이너가 있고 데이터를 삽입하십시오.

예 :

HTML : <div id="a"></div>

JS : <script>$('#a').html('test');</script>

+0

그는 페이지에 그것을 표시하기 위해'.appendTo ('. cart-shipping');'를 사용하고 있습니다. –

+0

@@ i는 오른쪽으로 스크롤하지 못했습니다. –

1

당신이 다음 블록 교체되고 싶지 : 기본적으로,

$('<span></span>').html('<strong>' + data.cart.shipping.methods['core|10292|40695'].price.price_incl + '</strong>').appendTo('.cart-shipping'); 

:와

$.each(data.cart.shipping.methods, function(index, method){ 
    $('<span></span>').html('<strong>' + method.price.price_incl + '</strong>').appendTo('.cart-shipping'); 
}); 

을 유래 al 코드는 $. 각 구조로받은 데이터를 반복합니다. 당신의 경우에, 당신은 모든 가치들을 반복하고 싶지 않습니다, 당신은 이미 당신이 원하는 것을 압니다.

또한 if 문을 사용하는 것이 좋습니다. 이러한 응답은 전체 객체를 반복하면서 리소스를 낭비합니다.

+0

내일 시도해 보겠습니다. – Meules

+0

이것도 일종의 if 문과 함께 작동합니까?그래서 내 장바구니 총 가격이 100 인 경우 배송 방법 코어 10292 | 40695 또는 1000 배송 방법 코어 0292 | 50695 등일 때? – Meules

+0

예. 출력 형식에 따라'data.cart'에서 가격을 확인해야합니다. 'http : //shop.com/cart/? format = json'의 예제 출력을 보여 주면 좀 더 완전한 답을 줄 수 있습니다. –

관련 문제