0

colmodelが次のように見えるグリッドがあります。

colModel:[ 
    {name:'id',index:'id', width:30, sorttype:'int'}, 
    {name:'name',index:'name', editable:true, width:200},
    {name:'group.id',index:'group.id', editable:true, width:200, formatter:'select', edittype: 'select'},
    {name:'sql',index:'sql', editable:true, width:100}
], 

データを編集してサーバーに投稿すると、jsonは次のようになります。

{"name":"Name 1","group.id":"1","sql":"sql","oper":"edit","id":"1"}

しかし、私のサーバーは次のようなマルチレベルのjsonを期待しています。

{"name":"Name 1","group":{"id":1},"sql":"sql","oper":"edit","id":"1"}

私のserializeEditDataは次のようになります:

serializeEditData:function(data) {
    if (data.id === '_empty')
        data.id = null;
    return JSON.stringify(data)
}

javascriptオブジェクトをマルチレベルのjsonとしてフォーマットするエレガントな方法はありますか?

4

1 に答える 1

0

あなたが始めるなら、言う

var jsobj =  {"name":"Name 1","group":"","sql":"sql","oper":"edit","id":"1"};

私は単純にやっていると思います

jsobj["group"] = {"id" : 1}; 
console.log(jsobj);

動作し、次のようになります。

{"name":"Name 1","group":{"id":1},"sql":"sql","oper":"edit","id":"1"}

お役に立てれば

于 2012-09-03T23:21:51.293 に答える