获取具有子数组json值的数组的值

fetch values of the array that has a sub array json values

本文关键字:数组 json 获取      更新时间:2023-09-26

我有JSON响应/

{  
   "phweb":{  
      "name":"PH Web Server",
      "cpu":"36.7",
      "ram":"33.0",
      "hdd":"43.0",
      "os":{  
         "osup":"2 days, 23 hours, 5 minutes and 34 seconds",
         "osstat":"0"
      },
      "apache":{  
         "apachestat":"0",
         "apacheup":"33 days, 2 hours, 9 minutes and 16 seconds"
      },
      "sql":{  
         "sqlstat":"0",
         "sqlup":"154 days, 2 hours, 16 minutes and 53 seconds"
      }
   },
   "phdbm":{  
      "name":"PH DBM Server",
      "cpu":"15.9",
      "ram":"10.7",
      "hdd":"23.7",
      "os":{  
         "osup":"2 days, 23 hours, 6 minutes and 21 seconds",
         "osstat":"0"
      },
      "apache":{  
         "apachestat":"0",
         "apacheup":"103 days, 4 hours, 43 minutes and 56 seconds"
      },
      "sql":{  
         "sqlstat":"0",
         "sqlup":"12 days, 4 hours, 43 minutes and 42 seconds"
      }
   }
}

,我可以使用

获取每个值
$.each(response, function(index, value){
    console.log(index + " " + value);
});

如何获取具有子数组值的响应值的值,例如

      "os":{  
         "osup":"2 days, 23 hours, 6 minutes and 21 seconds",
         "osstat":"0"
      },

的"phweb"索引(假设我想从'os'的'phweb'得到'osup' ?我如何检查它是否为空或它是否存在(以避免错误)?

首先是JSON object而不是JSON array

可以通过key直接访问。

使用变量名,例如obj,并使用.操作符,键为该键的值。

在下面的示例中,它是obj.phweb.os,这意味着obj是具有多个键值对的JSON对象,包括键phwebphwebos

请记住: JSON对象有key value{},而数组有索引和[]

var obj = {  
   "phweb":{  
      "name":"PH Web Server",
      "cpu":"36.7",
      "ram":"33.0",
      "hdd":"43.0",
      "os":{  
         "osup":"2 days, 23 hours, 5 minutes and 34 seconds",
         "osstat":"0"
      },
      "apache":{  
         "apachestat":"0",
         "apacheup":"33 days, 2 hours, 9 minutes and 16 seconds"
      },
      "sql":{  
         "sqlstat":"0",
         "sqlup":"154 days, 2 hours, 16 minutes and 53 seconds"
      }
   },
   "phdbm":{  
      "name":"PH DBM Server",
      "cpu":"15.9",
      "ram":"10.7",
      "hdd":"23.7",
      "os":{  
         "osup":"2 days, 23 hours, 6 minutes and 21 seconds",
         "osstat":"0"
      },
      "apache":{  
         "apachestat":"0",
         "apacheup":"103 days, 4 hours, 43 minutes and 56 seconds"
      },
      "sql":{  
         "sqlstat":"0",
         "sqlup":"12 days, 4 hours, 43 minutes and 42 seconds"
      }
   }
}
console.log(obj.phweb.os);