使用knockout js从json转换为数组

时间:2017-03-17 08:55:39

标签: javascript jquery html knockout.js kendo-ui

我有json文件' stars.json':

   {"person":
 [
      {
        "name": "a"
      },
      {
        "name": "b"
      },
      {
        "name": "c"
      },
      {
        "name": "d"
      }
    ]
}

然后我想将数据发送到kendo元素:

 $('#grid').kendoDropDownList({
     autoWidth: false,
        filter: "startswith",
        value: self.valore,
        optionLabel: "Select value...",
        dataSource: {

        }
 });

我应该在数据源中将json转换为简单数组? 我想得到这样的东西:

data=['a','b','c','d'];

2 个答案:

答案 0 :(得分:2)

您可以使用简单的数组函数来获得所需的结果

假设

var data = {"person":
 [
      {
        "name": "a"
      },
      {
        "name": "b"
      },
      {
        "name": "c"
      },
      {
        "name": "d"
      }
    ]
}

然后使用像这样的数组映射函数

var newData = data.person.map(function(obj){
    return obj.name
});
console.log(newData)

答案 1 :(得分:2)

考虑到变量person的值为:

{"person":[{"name":"a"},{"name":"b"},{"name":"c"},{"name":"d"}]}

你可以这样做:

person.person.map((o)=> o.name)