小编Nin*_*ick的帖子

动态创建具有可变深度的JavaScript对象

我遇到了一个讨厌的JSON对象,我需要转换为具有可变深度的JS对象.

不久:(我正在使用jQuery)

var nastyJSON_string = "{"generics_utenteID":"1","generics_elencoID":"1","mainbar_ade_stepID_0":"1","mainbar_ade_stepID_1":"3","mainbar_ade_stepTitle_0":"blablabla", "mainbar_ade_stepTitle_1" : "quiquoqua"}";

var nastyJSON = JSON.parse(nastyJSON_string);

// nastyJSON if parsed correctly now is: {generics_utenteID:"1",generics_elencoID:"1" ...and so on}.
Run Code Online (Sandbox Code Playgroud)

现在,我需要将nastyJSON转换为具有可变深度的JS对象.我的意思是:

var reusableJSObject = {
    generics : {
        utenteID : 1,
        elencoID : 1
    },

    mainbar : {
        ade : {
            stepID : {
                0 : 1,
                1 : 3
            },

            stepTitle : {
                0 : "blablabla",
                1 : "quiquoqua"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我最好的方法是手动创建它,循环nastyJSON,切换套管键并创建在众所周知的深度末尾添加值的对象.

像这样:

jQuery.each(nastyJSON, function(key,value){
    var keysp = key.split('_');
    switch(keysp[0])
    {
        //# generics …
Run Code Online (Sandbox Code Playgroud)

javascript jquery json javascript-objects

5
推荐指数
1
解决办法
501
查看次数

标签 统计

javascript ×1

javascript-objects ×1

jquery ×1

json ×1