我有这样的json数组
{
"STATUS": "SUCCESS",
"MESSAGE": "",
"DATA": {
"list": [
{
"val0": {
"hidden": "0",
"rate": "10"
}
},
{
"val1": {
"hidden": "0",
"rate": "20"
}
}
],
"status": "Provisioned"
}
}
我想得到DATA的对象名
尝试
$data = '{
"STATUS": "SUCCESS",
"MESSAGE": "",
"DATA": {
"list": [
{
"val0": {
"hidden": "0",
"rate": "10"
}
},
{
"val1": {
"hidden": "0",
"rate": "20"
}
}
],
"status": "Provisioned"
}
}';
$data = json_decode($data);
$ss = $data->DATA->list;
echo $ss[0]->val0->rate;
希望下面的自我解释片段能给你一个如何自己动手的建议。顺便说一下,你可以在这里快速测试它。
<?php
$strJson = '{
"STATUS" : "SUCCESS",
"MESSAGE" : "",
"DATA" : {
"list" : [
{
"val0" : {
"hidden" : "0",
"rate" : "10"
}
},
{
"val1" : {
"hidden" : "0",
"rate" : "20"
}
}
],
"cpe_status" : "Provisioned"
}
}';
$objJson = json_decode($strJson);
$data = $objJson->DATA;
$lists = $data->list;
$list0 = $lists[0];
$list1 = $lists[1];
var_dump($lists);
上述var\u dump($lists)
产生:
array (size=2)
0 =>
object(stdClass)[47]
public 'val0' =>
object(stdClass)[46]
public 'hidden' => string '0' (length=1)
public 'rate' => string '10' (length=2)
1 =>
object(stdClass)[49]
public 'val1' =>
object(stdClass)[48]
public 'hidden' => string '0' (length=1)
public 'rate' => string '20' (length=2)
现在,您可以简单地使用这样一个简单的循环从List中获取所需的所有数据:
<?php
foreach($lists as $objList){
if(is_object($objList)){
foreach($objList as $key=>$data){
// NOW, YOU CAN DO SOMETHING WITH THE DATA...
// LIKE GET THE `hidden` OR `rate` PROPERTIES/ATTRIBUTES
$hidden = $data->hidden;
$rate = $data->rate;
// var_dump($hidden);
// var_dump($rate);
// var_dump($key);
var_dump($data);
}
}
}
使用json_decode
,list
也是一个数组,因此第一个键(0)表示val0
,如果你想获得val0
的内部内容,那么你必须再次循环它。
$data = '{
"STATUS": "SUCCESS",
"MESSAGE": "",
"DATA": {
"list": [
{
"val0": {
"hidden": "0",
"rate": "10"
}
},
{
"val1": {
"hidden": "0",
"rate": "20"
}
}
],
"cpe_status": "Provisioned"
}
}';
$data = json_decode($data, true);
foreach($data['DATA']['list'][0] as $key=>$value){
echo $key; // return val0
echo "<br/>";
// to get val0 inner content
foreach($value as $item=>$list){
echo $item." - ".$list; // return val0 inner data
echo "<br/>";
}
}
// alternative way for loop val0 inner content
foreach($data['DATA']['list'][0]['val0'] as $key=>$value){
echo $key." - ".$value; // return val0 inner data
echo "<br/>";
}
问题内容: 我有以下JSON: 我拼命尝试访问动态对象名称,如,该怎么办? 现在我有: 问题答案: 我可以想象,最简单的方法是解码为关联数组而不是stdClass对象
问题内容: 有什么解决方案来获取对象的函数名称? -没有有关或的信息。有可能得到其中之一吗? 问题答案: 获取对象的构造函数,然后检查其name属性。 返回“ myClass”。
问题内容: 我想知道JavaScript中是否有任何方法可以像这样遍历对象。 但是这样获取每个属性的名称。 我似乎在Google上找不到类似的东西。他们说与他们一起传递变量的名称,但这不是我要实现的选择。 谢谢你的尽心帮助。 问题答案: 使用Object.keys(): 给您一个属于输入对象的属性名称数组。
问题内容: 是否有一个JavaScript的等效的Java的? 问题答案: 是否有与Java等效的JavaScript ? 没有 。 名称为。不论类别如何,的类别名称均为。ES2015环境中的内置构造函数具有正确的属性;例如是。 但是,这里有各种各样的骇客,它们都以一种或另一种方式下降: 这是一种可以满足您需要的技巧-请注意,它会修改Object的原型,而人们对此并不满意(通常是出于充分的理由)
本文向大家介绍JavaScript 获取函数对象的名称,包括了JavaScript 获取函数对象的名称的使用技巧和注意事项,需要的朋友参考一下 示例 6 ES6: 关于MDN的说明。自2015年起,可以在nodejs和除IE之外的所有主要浏览器中使用。 5 ES5: 如果您有对该功能的引用,则可以执行以下操作:
示例JSON 我想要一个数组[属性1,属性2] 如何使用est保证的JSON路径提取器实现?