如何更改JSON密钥的名称?

时间:2012-02-22 12:13:35

标签: json extjs

children: [
{
    name:'Basic Ext Layouts',
    expanded: false,
    children:[
    {
        name:'Absolute',
        id:'absolute',
        leaf:true,
    },{
        ...
    }]
}]

是否可以将children更改为mydata

2 个答案:

答案 0 :(得分:3)

  

是否可以将孩子改成mydata?

是。设置treestore的代理以使用root配置设置为'mydata'的阅读器:

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

答案 1 :(得分: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);