检查json数据的值,然后获取其密钥

时间:2016-12-09 08:30:56

标签: javascript json node.js minecraft

我有一些JSON数据,我从https://status.mojang.com/check检索并存储在变量中。我对JSON / JS还很陌生,我似乎无法在谷歌上找到任何答案。

代码:

function checkMojang() {
 var mojangStatus = mojang.status();
 mojangStatus.then(function (message) {
     var response = JSON.parse(message);
 })
}

我正在使用的数据可以在上面的链接中看到。我试图检查json数组中的所有数据,看看是否有任何值包含"黄色"或"红色"并获取这些值的键及其检查值,但无法弄清楚如何操作。

3 个答案:

答案 0 :(得分:1)

您可以使用方法array.foreach()为每个数组元素执行一次提供的函数,并使用for ... in itarate over the enumarable properties。 因此,您可以测试值并获取值"yellow""red"

的键
response.forEach(function(element) {
    for (k in element) {
        if (element[k]=="red" or element[k]=="yellow") {
            // k is the key
        }
    }
});

答案 1 :(得分:1)

您可以循环遍历数组,然后遍历对象属性,并使用颜色作为键

创建一个新对象

var response = [{"minecraft.net":"green"},{"session.minecraft.net":"red"},{"account.mojang.com":"green"},{"auth.mojang.com":"green"},{"skins.minecraft.net":"green"},{"authserver.mojang.com":"yellow"},{"sessionserver.mojang.com":"green"},{"api.mojang.com":"green"},{"textures.minecraft.net":"green"},{"mojang.com":"red"}];

var new_response = {};
response.forEach(function(obj){
  for (var prop in obj) {
    if(obj.hasOwnProperty(prop)) {
	  if(new_response[obj[prop]] == undefined) new_response[obj[prop]] = [];
      new_response[obj[prop]].push(prop);
    }
  }
})
console.log(new_response);

您可以根据需要使用该对象

new_response["red"]

为您提供具有红色值的所有键的列表。

答案 2 :(得分:0)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="fakeheader">Header
</div>
<div id="#menu-categories">

<ul id="nav">
    <li>
        <a href="#">Quoi manger/Ou dormir...</a>
        <ul class="child">
            <li><a href="#">Associations</a>
                <ul class="child">
                    <li><a href="#">Associations 3</a></li>
                    <li><a href="#">Associations 3</a></li>
                    <li><a href="#">Associations 3</a></li>
                </ul>
            </li>
            <li><a href="#">Autre</a>
                <ul class="child">
                    <li><a href="#">Autre 3</a></li>
                    <li><a href="#">Autre 3</a></li>
                    <li><a href="#">Autre 3</a></li>
                </ul>
            </li>
        </ul>
    </li>
    <li>
        <a href="#">Quoi faire...</a>
        <ul class="child">
            <li><a href="#">Associations</a>
                <ul class="child">
                    <li><a href="#">Culturelle</a></li>
                    <li><a href="#">Culturelle</a></li>
                    <li><a href="#">Culturelle</a></li>
                </ul>
            </li>
            <li><a href="#">Associations</a>
                <ul class="child">
                    <li><a href="#">Culturelle</a></li>
                    <li><a href="#">Culturelle</a></li>
                    <li><a href="#">Culturelle</a></li>
                </ul>
            </li>
        </ul>
    </li>
   
</ul>
</div>
<div id="fakecontent">
Content
</div>