带键的javascript数组

时间:2019-01-19 08:44:34

标签: javascript arrays key

我想从具有这种格式的数组中获取JSON

[
  {
    "title": "Name"
  },
  {
    "title": "Phone"
  },
  {
    "title": "Parent Phone"
  },
  {
    "title": "Street"
  }
]

我尝试了以下代码:

var favorite = new Array();
$.each($("#db_fields"), function() {
    var field = {
        'title': $(this).val()
    };
    favorite.push(field);
});
var myJsonString = JSON.stringify(favorite);
alert(myJsonString);

$("#db_fields")是一个选择(引导选择),它是一个字符串数组

<select class="form-control"  name="db_fields[]" id="db_fields" data-live-search="true" multiple >
        <option value="Arabic Name"> Arabic Name</option>
        <option value="Building"> Building</option>
</select>

但是我得到了这个结果

[{"title":["Arabic Name","Phone","Building","Nationality"]}]

1 个答案:

答案 0 :(得分:1)

遍历select"#db_fields > option")标签的 选项

var favorite = [];
$.each($("#db_fields > option"), function(){   
        let field = {
            'title': this.value
        };
        favorite.push(field);
});
var myJsonString = JSON.stringify(favorite);
console.log(myJsonString);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control"  name="db_fields[]" id="db_fields" data-live-search="true" multiple >
        <option value="Arabic Name"> Arabic Name</option>
        <option value="Building"> Building</option>
</select>