为了账号安全,请及时绑定邮箱和手机立即绑定

如何将json过滤为特定格式(删除某些部分)

如何将json过滤为特定格式(删除某些部分)

PHP
天涯尽头无女友 2021-07-02 09:01:20
我正在将 MySQL 转换为 json 并且输出提供的比我想要的要多,所以我想将它过滤为每个段的几个值。我试过寻找类似的问题,但还没有找到我真正理解得足以适应这个特定用例的问题。这是我正在做的生成 json$rows = array();  while($r = mysqli_fetch_array($result)) {    $rows[] = $r;  }  $json_string = json_encode($rows, JSON_PRETTY_PRINT);这是输出的示例[    {        "0": "1",        "id": "1",        "1": "2019-05-25 14:38:10",        "timestamp": "2019-05-25 14:38:10",        "2": "4",        "category": "4"    },    {        "0": "2",        "id": "2",        "1": "2019-05-25 14:38:15",        "timestamp": "2019-05-25 14:38:15",        "2": "3",        "category": "3"    }]我想要的是更像这样的东西[  {    "category": "4",    "timestamp": "2019-05-25 14:38:10"  },  {    "category": "3",    "timestamp": "2019-05-25 14:38:15"  }]
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您可以尝试在输出中仅获取这两列。或者,您可以使用MYSQLI_ASSOC常量来获取结果行作为关联数组。


<?php

$rows = array();

while($r = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

    $rows[] = array(

        "category" => $r["category"],

        "timestamp" => $r["timestamp"]

    );

}


$json_string = json_encode($rows, JSON_PRETTY_PRINT);

?>


查看完整回答
反对 回复 2021-07-09
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

将您的 SQL 查询从

SELECT * ...

(或者你的 SELECT 子句看起来像什么)

SELECT category, timestamp ...

那么您的 PHP 代码可能是单行代码:

$json_string = json_encode($result->fetch_all(MYSQLI_ASSOC), JSON_PRETTY_PRINT);


查看完整回答
反对 回复 2021-07-09
  • 2 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信