我需要知道如何提取JSON数据,就像下面发布到php的JSON格式一样,我试图使用php脚本将以下JSON文件键值数据提取到mysql中。以下JSON来自openalpr,在命令行上使用alpr导出为JSON
"version": 2,
"data_type": "alpr_results",
"epoch_time": 1594858871000,
"img_width": 3232,
"img_height": 3232,
"processing_time_ms": 522.5,
"regions_of_interest": [],
"results": [
{
"plate": "QAA1989C",
"confidence": 90.09095,
"matches_template": 0,
"plate_index": 0,
"region": "my",
"region_confidence": 0,
"processing_time_ms": 42.125999,
"requested_topn": 10,
"coordinates": [
{
"x": 1149,
"y": 2071
},
{
"x": 1836,
"y": 2071
},
{
"x": 1836,
"y": 2268
},
{
"x": 1149,
"y": 2268
}
]
}
]
}
我一直得到的只是像Illegal string offset 'result
这样的错误我测试的显示车牌号的php代码:有人能帮助指导我如何使用php脚本在json数组中获取子数组的值吗?谢谢**
我使用了以下代码,不确定关于子元素键值的错误是什么
$filename = "results.json";
$data = file_get_contents($filename); //Read the JSON file in PHP
$array = json_decode($data, true); //Convert JSON String into PHP Array
foreach ($data['results']['results'] AS $d)
{
echo $d['plate'];
}
您的json字符串错误,第一行缺少{
$json = '
{
"version": 2,
"data_type": "alpr_results",
"epoch_time": 1594858871000,
"img_width": 3232,
"img_height": 3232,
"processing_time_ms": 522.5,
"regions_of_interest": [],
"results": [
{
"plate": "QAA1989C",
"confidence": 90.09095,
"matches_template": 0,
"plate_index": 0,
"region": "my",
"region_confidence": 0,
"processing_time_ms": 42.125999,
"requested_topn": 10,
"coordinates": [
{
"x": 1149,
"y": 2071
},
{
"x": 1836,
"y": 2071
},
{
"x": 1836,
"y": 2268
},
{
"x": 1149,
"y": 2268
}
]
}
]
}
';
$data = json_decode($json,true);
foreach ($data['results'] AS $d) {
echo $d['plate'];
}