当前位置: 首页 > 面试题库 >

从值获取JSON密钥或反转JSON数据

胡鸿远
2023-03-14
问题内容

从值中获取单个密钥

我想从以下JSON进行向后选择。我想提取特定状态的缩写。在这种情况下,缩写是关键,而我要开头的值就是值。

当然,我可以遍历每个值,将值与我的值进行比较,并在匹配时选择键。这是处理类似问题的最佳方法吗?或者,还有更好的方法?

反转JSON数据

另一种选择是在处理的早期反转此数据,以给我自己交换密钥/值的一组相似值。我会对看到有效地执行此操作的方法感兴趣。

var States = {AL: 'Alabama', AK: 'Alaska', AZ: 'Arizona', AR: 'Arkansas', 
              CA: 'California', CO: 'Colorado', CT: 'Connecticut', 
              DE: 'Delaware', DC: 'District of Columbia', FL: 'Florida', 
              GA: 'Georgia', HI: 'Hawaii', ID: 'Idaho', IL: 'Illinois', 
              IN: 'Indiana', IA: 'Iowa', KS: 'Kansas', KY: 'Kentucky', 
              LA: 'Louisiana', ME: 'Maine', MD: 'Maryland', MA: 'Massachusetts', 
              MI: 'Michigan', MN: 'Minnesota', MO: 'Missouri', MT: 'Montana', 
              NE: 'Nebraska', NV: 'Nevada', NH: 'New Hampshire', 
              NJ: 'New Jersey', NM: 'New Mexico', NY: 'New York', 
              NC: 'North Carolina', ND: 'North Dakota', OH: 'Ohio', 
              OK: 'Oklahoma', OR: 'Oregon', PA: 'Pennsylvania', 
              RI: 'Rhode Island', SC: 'South Carolina', 
              SD: 'South Dakota', TN: 'Tennessee', TX: 'Texas', UT: 'Utah', 
              VT: 'Vermont', VA: 'Virginia', WA: 'Washington', 
              WV: 'West Virginia', WI: 'Wisconsin', WY: 'Wyoming'};

问题答案:

没有“自动”方式可以做到这一点。您唯一的选择是遍历列表,直到找到与键匹配的值。

但是,如果您需要多次执行此操作,则应该使代码重建具有交换键/值的JSON对象,以便以后的查找更快。一种简单的方法:

function swapJsonKeyValues(input) {
    var one, output = {};
    for (one in input) {
        if (input.hasOwnProperty(one)) {
            output[input[one]] = one;
        }
    }
    return output;
}

var stateAbbrs = swapJsonKeyValues(States);


 类似资料:
  • 问题内容: 同时,我正在使用Firebase开发Flutter应用,这确实很有趣,当然还有克服的麻烦… 我设置了一个Firebase数据存储,并通过firebase_database插件获得了一个DataSnapshot,如下所示: 我使用Map对象保留此JSON。一个愚蠢的问题:如果我只想获取值“ -L474-TYYYGPvCChlZCS ”,该怎么办? 问题答案: 要从DataSnapshot

  • 我从服务器获得了以下jwks 我有一个加密的令牌。我想用上面的jwk解密它。如何从上述jwk中获取公钥。我从楼梯上走下来https://auth0.com/docs/quickstart/backend/rails/01-authorization.但上述jwk中缺少x5c(证书)。 我想知道在jwk中没有x5c如何获取公钥。

  • 问题内容: 我有一个json文本,我想获取作者姓名和描述标签的值。不需要其他字段,例如url和urltoimage等。当我运行以下代码时,不提供任何字符串值。我认为这里有些错误。 怎么得到这个?下面是我的代码,它根本不起作用 上面的代码返回对象未设置为实例错误! 问题答案: 假设您希望反序列化为具体的类(按照问题中第二种尝试的方法),那么您需要一个包装器类来容纳整个对象,然后对此进行反序列化。 目

  • 问题内容: 假设我有这个JSON: 我正在尝试通过PHP: 我正在尝试获取成就的第一个“ id” 。 我该如何解决? 问题答案: 当您设置的第二个参数来,它会返回一个数组。 返回一个数组。

  • 我有一个名为AnimalsData的文件,它有一个由数组组成的对象。数组由一个对象和另一个数组组成。它看起来像这样: 我的HTML文件如下所示: 我正试图获取的值的类名对象从动画类数组。我一直在使用以下两个stackoverflow页面作为指南: 访问JSON数组中的对象和访问/处理(嵌套)对象、数组或JSON 我有另一个javascript文件,其中包含以下内容: 编辑我将for in循环中的"

  • 我得到的字符串值如下所示: