我试图使用json_decode
但我认为结果两端的 [] 都与此有关。
我需要访问此 JSON 的某些部分。
在PHP中,我做:
<?php
$arr = json_decode($json, true);
print $arr['ua']['rawUa'];
?>
实际的 JSON(从这里开始)是:
[
{
"meta": {
"name": "ua-parser",
"repo": "https://github.com/tobie/ua-parser",
"version": "0.3.5"
},
"ua": {
"rawUa": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2718.0 Safari/537.36",
"string": {
"family": "Chrome",
"major": "52",
"minor": "0",
"patch": "2718"
},
"family": "Chrome",
"major": 52,
"minor": 0,
"patch": 2718,
"device": {
"family": "Other"
}
},
"os": {
"string": {
"family": "Mac OS X",
"major": "10",
"minor": "11",
"patch": "1",
"patchMinor": null
},
"family": "Mac OS X",
"major": "10",
"minor": "11",
"patch": "1"
}
},
{
"meta": {
"name": "ua-parser-js",
"repo": "https://github.com/faisalman/ua-parser-js",
"version": ""
}
},
{
"meta": {
"name": "platform.js",
"repo": "https://github.com/bestiejs/platform.js/",
"version": "1.3.0"
},
"ua": {
"name": "Chrome",
"version": "52.0.2718.0",
"layout": "Blink"
},
"os": {
"os": {
"architecture": 32,
"family": "OS X",
"version": "10.11.1"
}
},
"device": {
"product": null,
"manufacturer": null,
"description": "Chrome 52.0.2718.0 on OS X 10.11.1"
}
}
]
只需将第一个索引用作 0。 数组的第一个索引以 0 开头。
$arr = json_decode($json, true);
echo $arr[0]['ua']['rawUa'];
试试这个,你必须从索引零中获取数据,以检查是否尝试打印数组var_dump($arr);
$arr = json_decode($data, true);
print $arr[0]['ua']['rawUa'];
使用foreach
循环获取所有记录。
$arr = json_decode($json, true);
foreach($arr as $row)
{
if(isset($row['ua']['rawUa'])
{
echo $row['ua']['rawUa'];
}
}
对于单条记录使用array index [0]
print $arr[0]['ua']['rawUa'];
尝试使用:
print $arr[0]['ua']['rawUa'];
var_dump($arr);
结果部分:
array (size=3)
0 =>
array (size=3)
'meta' =>
array (size=3)
'name' => string 'ua-parser' (length=9)
'repo' => string 'https://github.com/tobie/ua-parser' (length=34)
'version' => string '0.3.5' (length=5)
'ua' =>
array (size=7)
'rawUa' => string 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2718.0 Safari/537.36' (length=119)