获取没有字符串前缀的json值

时间:2013-10-22 16:32:01

标签: javascript json xpath

我有一个像这样的json:

  

var x = {“foo:bar”:“xyz”};

我可以通过调用x [“foo:bar”]来获取xyz但是无论如何通过调用bar来获取xzy并删除foo前缀?像x [“bar”]之类的东西? json是从带有名称空间的xml转换而来的,我无法改变它。感谢

2 个答案:

答案 0 :(得分:2)

您可以遍历属性名称并删除前缀:

function removePrefix(x){
    var temp = {};
    for(var key in x){
        temp[key.substr(key.indexOf(':')+1)] = x[key];
    }
    return temp;
}

var x = {"foo:bar":"xyz"};

x = removePrefix(x);

console.log( x['bar'] ); // xzy
console.log( x.bar ); // xyz

答案 1 :(得分:0)

您将创建一个如下所示的JSON字符串:

var x = {"foo":"xyz"};

您当前的密钥:"foo:bar"在JSON中没有任何特殊含义,它是密钥的一部分。