2012-08-14 186 views
0

我有一個嵌套的json,如下所示。我想分析這TreePanel中,解析ExtJS中的嵌套Json 4

{"E": { 
       "@st": "SS", 
       "eid": "879", 
       "name": "L-e", 
       "code1": "01", 
       "E": [ 
        { 
        "@st": "SS", 
        "eid": "423", 
        "name": "PaM-M", 
        "code1": "S-M", 
       }, 
        { 
        "@st": "SS", 
        "eid": "890", 
        "name": "P-F", 
       "code1": "S-F", 
        "E":  [ 
          { 
         "@st": "SS", 
         "eid": "342", 
         "name": "S-p", 
        "code1": "S-L" 
        }, 
          { 
         "@st": "SS", 
         "eid": "967", 
         "name": "St-k", 
         "code1": "ST-K" 
        }, 
          { 
         "@st": "SS", 
         "eid": "789", 
         "name": "S-k", 
         "code1": "S-A" 
        } 
        ] 
       }, 
        { 
        "@st": "SS", 
        "eid": "908", 
        "name": "S-F", 
        "code1": "S-EF", 
        "E":  [ 
          { 
         "@st": "SS", 
         "eid": "567", 
         "name": "S-M", 
         "code1": "ST-TK", 
        }, 
          { 
         "@st": "SS", 
         "eid": "456", 
         "name": "S-Teak", 
         "code1": "S-TK" 
        }, 
          { 
         "@st": "SS", 
         "eid": "234", 
         "name": "S-PK", 
         "code1": "S-ML" 
        } 
        ] 
       }, 
        { 
        "@st": "SS", 
        "eid": "2345", 
        "name": "A-Pedestal-Common", 
        "code1": "AC1" 
       }, 
        { 
        "@st": "SS", 
        "eid": "1234", 
        "name": "A_P_Wenge", 
        "code1": "A_1" 
       } 
       ] 
      }} 

我要分析此JSON在TreePanel中的Extjs4.i不能更改此JSON格式。
請讓我知道我將如何實現這一目標?
在此先感謝。

+0

你能否提供一些你已經試過的示例代碼?我不得不同意Alex在字面意義上對您問題的回答,但我不認爲這是您真正想要的。 – Reimius 2012-08-14 18:06:46

回答

2

如果我理解正確的話,你下面的代碼之後是。

E在你的json中基本上代表樹閱讀器默認預期的children

Ext.define('TreeModel', { 
    extend: 'Ext.data.Model', 
    fields: [ '@st', 'eid', 'name', 'code1' ] 
}); 

var iTreeStore = Ext.create('Ext.data.TreeStore', { 
    model: 'TreeModel', 

    // Your other configs in here. 
    proxy: { 
     // whatever your proxy comes in here. 
    }, 
    reader: { 
     type : 'json', 
     root : 'E'  // That's the one that should do the trick. 
    } 
}); 
0

只是解析它?

Ext.JSON.decode(jsonString)把它變成你的一個對象...