我有一个JSON文件,我正在努力获取数据。这是JSON。
{"data":[
{"tag":"operatingrevenue","value":215639000000.0},
{"tag":"totalrevenue","value":215639000000.0},
{"tag":"operatingcostofrevenue","value":131376000000.0},
{"tag":"totalcostofrevenue","value":131376000000.0},
{"tag":"totalgrossprofit","value":84263000000.0},
{"tag":"sgaexpense","value":14194000000.0},
{"tag":"rdexpense","value":10045000000.0},
{"tag":"totaloperatingexpenses","value":24239000000.0},
{"tag":"totaloperatingincome","value":60024000000.0},
{"tag":"otherincome","value":1348000000.0},
{"tag":"totalotherincome","value":1348000000.0},
{"tag":"totalpretaxincome","value":61372000000.0},
{"tag":"incometaxexpense","value":15685000000.0},
{"tag":"netincomecontinuing","value":45687000000.0},
{"tag":"netincome","value":45687000000.0},
{"tag":"netincometocommon","value":45687000000.0},
{"tag":"weightedavebasicsharesos","value":5470820000.0},
{"tag":"basiceps","value":8.35},
{"tag":"weightedavedilutedsharesos","value":5500281000.0},
{"tag":"dilutedeps","value":8.31},
{"tag":"weightedavebasicdilutedsharesos","value":5471500000.0},
{"tag":"basicdilutedeps","value":8.35},
{"tag":"cashdividendspershare","value":2.18}]
我使用
将其转换为数组$data = json_decode($jsondata, true);
然后我可以通过以下方式提取数据:
$operatingRevenue = $data['data'][0]['value'];
$totalrevenue = $data['data'][1]['value'];
然而,等,我想使用标签名称而不仅仅是订单,以防订单在JSON中发生变化。像
这样的东西$operatingRevenue = $data['data']['operatingRevenue'];
答案 0 :(得分:1)
迭代$data
数组,并将数组中新元素的键设置为tag
元素,并将其值设置为value
元素。
foreach($data['data'] as $v)
$array[$v['tag']] = $v['value'];
$array
包含您想要的内容,访问方式如下:$array['operatingRevenue']
答案 1 :(得分:0)
迭代$ data并使用array_push。 在这里阅读。 https://www.w3schools.com/php/func_array_push.asp
Node* newNode = new Node();
newNode->data = data;
newNode->next = nullptr;