javascript - 获取不带字符串前缀的json值

标签 javascript json xpath

我有一个像这样的json:

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

我可以通过调用 x["foo:bar"] 来获取 xyz,但是有没有办法通过仅调用 bar 并删除 foo 前缀来获取 xzy?像 x["bar"] 这样的东西? json 是从带有 namespace 的 xml 转换而来的,我无法更改它。谢谢

最佳答案

您可以迭代属性名称并删除前缀:

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

关于javascript - 获取不带字符串前缀的json值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19523462/

相关文章:

javascript - 过滤json数据并将结果显示在表格中

php - json_encode 在我的 php 中没有任何作用

java - 如何在 Java 中使用 Selenium WebDriver 上传不同的文件名和最新的日期/时间戳

java - dom4j XPath 无法解析 xhtml 文档

javascript - 如何从数组中选取数据并从中创建单个对象?

javascript - js : promises inside a while- true loop

javascript - dialog.showMessageBox 不返回 Electron main.js 中的按钮索引

javascript - html 手机掩码

ios - uitableview cell cellForRowAtindexPath 从 swift3 中的名称中获取第一个字母

xml - 使用 distinct-values() 时的 XQuery