2014-06-16 45 views
1

我的extJS表单中有一个多选组合框。在extJS中将数组转换为JSON

它在提交时返回一个字符串数组。

我想将其转换为json(以特定格式)。

例如,它返回以下数组中:

categories : ['ABC','XYZ'] 

我想要的JSON的格式如下:

"categories":[{"name":"ABC"},{"name":"XYZ"}] 

是否有ExtJS的任何方法来做到这一点? 如何实现这个使用JavaScript?

回答

1

您可以使用香草JS的Array.map方法:

var out = JSON.stringify(categories.map(function (el) { 
    return { name: el }; 
})); 

输出

[{"name":"ABC"},{"name":"XYZ"}] 

Demo

+0

这很好用!谢谢 :) – user3745429

1

为什么不使用

selected = []; 
Ext.each(categories, function (item) { 

    selected.push({ 
      'name': item 
    }); 
}); 

Ext.encode(selected)