children: [
{
name:'Basic Ext Layouts',
expanded: false,
children:[
{
name:'Absolute',
id:'absolute',
leaf:true,
},{
...
}]
}]
children
からmydata
に変更できますか?JSONキーの名前を変更する方法は?
children: [
{
name:'Basic Ext Layouts',
expanded: false,
children:[
{
name:'Absolute',
id:'absolute',
leaf:true,
},{
...
}]
}]
children
からmydata
に変更できますか?JSONキーの名前を変更する方法は?
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);
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です。
私は外部からjsonを追加したいと思います、私は同じファイルでそれを望んでいません。 – Dhananjay
何らかの理由でデータに「子供」という文字列が含まれていると、これは恐ろしい連合をもたらす可能性があります。少なくとも正規表現を使用する必要があります –
ありがとうございます。ここで深刻な問題。私は、通常の文字列の代わりにJSONキーだけをゼロにするために、ここで置換する "children"を更新しました。唯一の例外は、ここで認識すべき通常の文字列 "children"です。 – steveyang
なぜこれは受け入れられた答えですか?そのようなハック –