在这种情况下如何访问Json数据?

时间:2013-06-05 16:09:41

标签: json

我有一个包含许多复选框的树表。每个复选框都存储结构本身。例如/root/entity_child/0/entity_child/1。从这些数据中,我想使用它并从我的Json数据中读取Json对象。

为了获得正确的数据,我需要像mydata.root.entity_child [0] .entity_child [1]这样的东西。但是我不知道应该如何应用我的原始数据来获取我想要的数据。

假设我有/root/entity_child/0/entity_child/1字符串,如何将其转换为mydata.root.entity_child[0].entity_child[1] in javascript?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

从你的问题来看,目前尚不清楚你是否需要:

  • mydata.root.entity_child[0].entity_child[1]
  • 的值
  • 或只是字符串"mydata.root.entity_child[0].entity_child[1]"

如果您想要该值,则可以将字符串拆分为"/"并循环:

function getValue(path, from){
    var splitStr = path.substr(1).split('/');
    var val = from;

    for(var i = 0; i < splitStr.length; i ++){
        val = val[splitStr[i]];
    }

    return val;
}

getValue('/root/entity_child/0/entity_child/1', mydata);

或者,如果您只想要字符串,那么您可以使用正则表达式在一行中完成所有操作:

'mydata' + '/root/entity_child/0/entity_child/1'.replace(/\/([0-9]+)/g, "[$1]").replace(/\//g, '.');