如何从PHP中读取这种类型的JSON文件[JSON results from open alpr]



我需要知道如何提取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'];
}

最新更新