2012-09-02 1 views
0
내가 jQuery를 사용하여 JSON 배열을 만들고 싶어

을하고 약간의 문제가있어하려면 {"itemNo":"Item 2","price":"2000"} : 버튼 add가 인쇄됩니다 클릭하면기존의 구성 요소를 교체하지 않고 객체의 구성 요소를 추가 - JSON 배열

<html> 
    <head> 
     <title>Demo - Push Data Object</title> 
     <script type="text/javascript" language="javascript" src="js/jquery.js"></script> 
     <script> 
      var obj = new Object(); 

      $(document).ready(function() { 
       $("#add").click(function() { 
        item('Item 1', '1000'); 
        item('Item 2', '2000'); 
        console.log(JSON.stringify(obj)); 
       }); 
      }); 

      function item(itemNo, price) { 
       obj.itemNo = itemNo; 
       obj.price = price; 
      }; 
     </script> 
    </head> 

    <body> 
     <input id="add" type="button" value="Add Object" /> 
    </body> 
</html> 

합니다.

는 내가 달성하고자하는 것은이 같은 수 있습니다 :

{ 
    { 
     "itemNo":"Item 1", 
     "price":"1000" 
    }, 
    { 
     "itemNo":"Item 2", 
     "price":"2000" 
    } 
} 

나는 위의 코드에서 변경되어있어 무엇?

답변

1

원하는 출력이 유효한 JSON이 아닙니다. 항목 목록이 있으므로 바깥 괄호는 [ ]이어야합니다. 다음 코드는 생성 (Demo)이 :

var objs = []; 

$(document).ready(function() { 
    $("#add").click(function() { 
     objs.push(item('Item 1', '1000')); 
     objs.push(item('Item 2', '2000')); 
     console.log(JSON.stringify(objs)); 
    }); 
}); 

function item(itemNo, price) { 
    return { 
     itemNo : itemNo, 
     price : price 
    }; 
}; 


출력 :

[ 
    { 
     "itemNo":"Item 1", 
     "price":"1000" 
    }, 
    { 
     "itemNo":"Item 2", 
     "price":"2000" 
    } 
] 
관련 문제