ExtJS-来自getFormValues的自定义JSON结构

ExtJS-来自getFormValues的自定义JSON结构,extjs,Extjs,一直在网上搜索&似乎找不到合适的答案,希望有人遇到了需要将ExtJSgetFormValues响应类型的结构更改为控制器期望的结构的问题 比如说 form.a = "I'm A" form.b = "I'm B" form.c = "I'm C" 来自getFieldValues()的JSON是: "fom_name":{ "a": "I'm A", "b": "I'm B", "c": "I'm C" } 然而,我需要的控制器结构是 { "form_name": {

一直在网上搜索&似乎找不到合适的答案,希望有人遇到了需要将ExtJS
getFormValues
响应类型的结构更改为控制器期望的结构的问题

比如说

form.a = "I'm A"
form.b = "I'm B"
form.c = "I'm C"
来自
getFieldValues()
的JSON是:

"fom_name":{
  "a": "I'm A",
  "b": "I'm B",
  "c": "I'm C"
}
然而,我需要的控制器结构是

{
    "form_name": {
        "nestedArray": [{
            "a": "I'm A",
            "b": "I'm B",
            "c": "I'm C"
        }],
        "array2": []
    }
}
我知道我可以对字段值进行迭代&动态地更改它们以适应结构,但我正在寻找一个通用的解决方案来为我做到这一点

有什么想法吗

谢谢

伊恩

我知道我可以对字段值进行迭代,并将其动态更改为 符合结构

我可能会这样做,因为它看起来相当琐碎,我不认为有一个更简单的方法来做到这一点。如果需要(),可以将其包含为覆盖:

我知道我可以对字段值进行迭代,并将其动态更改为 符合结构

我可能会这样做,因为它看起来相当琐碎,我不认为有一个更简单的方法来做到这一点。如果需要(),可以将其包含为覆盖:

Ext.override(Ext.form.Basic, {
    getFieldValues: function(dirtyOnly) {

        //return this.getValues(false, dirtyOnly, false, true);

        var vals = this.getValues(false, dirtyOnly, false, true);

        var output = {};
        //iterate through vals and structure it the way you want it
        return output;
    },
});