简体   繁体   English

无法动态地在JSON对象中添加值

[英]Not Able To Add Values inside a JSON object dynamicaally

I am trying to add objects to a JSON object to be like 我试图将对象添加到JSON对象就像

 var books = [{
                "no" : 1,
                "bookType":"fiction",
                "bookPrice": 60

            },{
                "no" : 2,
                "bookType":"fun",
                "bookPrice": 40

            }
            ....
  ]

but the out put is so different! 但是输出是如此不同! can you please let me know how to fix this? 你能让我知道如何解决这个问题吗?

  $(document).ready(function() { var books = []; $('.addItem').on('click', function() { var type = $(this).data('type'); var price = $(this).data('price'); books.push('{',type, '"',price,'"}'), console.log(books); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button class="addItem" data-type="fiction" data-price="50">Add Book</button> <button class="addItem" data-type="fun" data-price="40">Add Book</button> 

It's because you have inserted string instead of an object. 这是因为您插入了字符串而不是对象。 You don't need to stringify an object in order to insert into an array. 您无需对对象进行字符串化即可插入数组。 Array can hold objects. 数组可以容纳对象。

 $(document).ready(function() { var books = []; $('.addItem').on('click', function() { var type = $(this).data('type'); var price = $(this).data('price'); books.push({ "no":books.length, "bookType":type, "bookPrice":price }); console.log(books); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button class="addItem" data-type="fiction" data-price="50">Add Book</button> <button class="addItem" data-type="fun" data-price="40">Add Book</button> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM