如何修改PHP代码生成指定格式的JSON输出文件?
修改PHP代码生成指定格式的JSON数组
我来帮你搞定这个格式转换的问题!你当前的PHP代码生成的是包含键值对对象的JSON数组,而你需要的是嵌套的纯数组结构,只要调整一下数据组装的逻辑就能实现。
关键修改点
原来的代码中,while循环里直接把数据库返回的对象存入数组,导致JSON输出是对象结构。我们需要手动构造每个子数组,按照你想要的顺序放置KleurL和Datum的值。
修改后的完整代码
<?php $mysqli = new mysqli('localhost','root','xxxx','xxxx'); $myArray = array(); $result = $mysqli->query("SELECT CONCAT(Datum , ' ', Tijd) as Datum, KleurL FROM metingen order by Datum ASC limit 20"); if ($result) { $tempArray = array(); while ($row = $result->fetch_object()) { // 替换原来的对象赋值,手动构造子数组,顺序为[KleurL, Datum] $tempArray = [$row->KleurL, $row->Datum]; array_push($myArray, $tempArray); } echo json_encode($myArray,JSON_NUMERIC_CHECK); $fp = fopen('resultsv2.json', 'w'); fwrite($fp, json_encode($myArray,JSON_NUMERIC_CHECK)); fclose($fp); } $result->close(); $mysqli->close(); ?>
效果说明
修改后生成的JSON格式会变成你期望的嵌套数组结构:
[ [ 17.68, "17-01-2019 10:31:39" ], [ 71.76, "17-01-2019 11:10:59" ], [ 70.7, "18-01-2019 08:40:41" ], ... ]
注:JSON规范中字符串必须包含双引号,所以日期部分会自动带上引号,这是符合标准的,不影响后续使用。
内容的提问来源于stack exchange,提问作者Pascal
相关产品推荐
相关产品推荐

