You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP生成无列名的键值对JSON文件(基于MySQL视图)

解决PHP生成指定格式JSON的问题

我懂你的需求——你要的是以partId为键、partCount为对应值的JSON对象,而不是当前输出的二维数组。问题出在你构建数组的方式上,咱们调整一下代码逻辑就能搞定:

原来的代码是把每一行数据存成一个子数组塞到结果数组里,所以json_encode后输出的是数组格式。现在咱们直接把partId作为关联数组的键,partCount作为对应的值存入数组:

$result = $conn->query($sql);
$resultArray = array();
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        // 核心修改:将partId设为数组键,partCount作为对应值
        $resultArray[$row["partId"]] = $row["partCount"];
    };
};
echo json_encode($resultArray);

这样修改后,json_encode输出的结果就会是你想要的格式:

{"1152471600":1,"1153681200":1,"1155409200":1}

额外提一句:因为你的partId是CHAR(20)类型,即便它是数字形式的字符串,PHP的json_encode处理时会输出数字样式的键,但这在JSON语法里是合法的,最终解析后的对象键依然是字符串类型,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Michael Allen Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:08:40