如何从 PHP [Json results from open alpr] 中读取这种类型的 JSON 文件?
Posted
技术标签:
【中文标题】如何从 PHP [Json results from open alpr] 中读取这种类型的 JSON 文件?【英文标题】:how to read this type of JSON file from PHP [Json results from open alpr ]? 【发布时间】:2020-11-05 14:59:50 【问题描述】:我需要知道如何提取 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_decode 我添加了 Json_decode 但 json 键值格式有点难以将值提取到 PHP 数组中 【参考方案1】:您的 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'];
【讨论】:
还是有问题非法字符串偏移'plate'<?php $connect = mysqli_connect("localhost", "root", "", "plates"); $filename = "results.json"; $data = file_get_contents($filename); $array = json_decode($data, true); echo($data['results'][0]['plate']); ?>
以上是关于如何从 PHP [Json results from open alpr] 中读取这种类型的 JSON 文件?的主要内容,如果未能解决你的问题,请参考以下文章