2012-02-22 13 views

答えて

1

JSON形式は、JavaScriptの観点から見た単なる文字列です。したがって、関連するメソッドでJSON文字列を操作できます。 JSON。

// The original 
obj = { 
    children: [ 
    { 
     name:'Basic Ext Layouts', 
     expanded: false, 
     children:[ 
     { 
      name:'Absolute', 
      id:'absolute', 
      leaf:true, 
     }] 
    }] 
} 

// Transfer the object to a JSON string 
var jsonstr = JSON.stringify(obj); 

// HERE you do the transform 
var new_jsonstr = jsonstr.replace('"children"', '"mydata"'); 

// You probably want to parse the altered string later 
var new_obj = JSON.parse(new_jsonstr); 
+0

何らかの理由でデータに「子供」という文字列が含まれていると、これは恐ろしい連合をもたらす可能性があります。少なくとも正規表現を使用する必要があります –

+0

ありがとうございます。ここで深刻な問題。私は、通常の文字列の代わりにJSONキーだけをゼロにするために、ここで置換する "children"を更新しました。唯一の例外は、ここで認識すべき通常の文字列 "children"です。 – steveyang

+0

なぜこれは受け入れられた答えですか?そのようなハック –

3

MYDATAに子を変更することが可能ですか?

はい。セットアップTreeStoreののプロキシが'mydata'root設定が設定されたリーダーを使用するには:ここでは

var store = Ext.create('Ext.data.TreeStore', { 
    model: 'MyModel', 
    proxy: { 
     type: 'memory', 
     reader: { 
      type: 'json', 
      root: 'mydata' // << this is required 
     } 
    }, 
    root: { 
     myData: [ 
     { 
      name:'Basic Ext Layouts', 

working exampleです。

+0

私は外部からjsonを追加したいと思います、私は同じファイルでそれを望んでいません。 – Dhananjay

関連する問題