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

PHP json_encode输出:如何去除日期字符串的引号?

关于JSON输出中日期引号的问题

嘿,我得先给你敲个警钟——你想要的[[2018/05/03,900]]这种输出格式,其实不符合JSON的语法规范哦!

为什么引号不能随便去掉?

在JSON的规则里,字符串类型必须用双引号包裹。而2018/05/03这种带斜杠的内容,既不是数字、布尔值,也不是合法的JSON字面量(比如null),要是直接不带引号输出,任何标准的JSON解析器都会把它判定为语法错误,根本没法正常解析。

那该怎么处理?

分两种情况来说:

  • 如果要输出合法的JSON:
    完全没办法去掉日期的引号,因为它本质就是字符串,JSON规范强制要求字符串加引号。硬删引号的话,输出的就不是真的JSON了,后续对接的程序肯定会出问题。

  • 如果不在乎JSON合法性,只是想要特定格式的字符串:
    那别用json_encode,直接手动拼接字符串就行。比如针对你的代码可以这么写:

    $dy = $s[$i]['time'];
    $date = date("Y/m/d", $dy);
    $price = $s[$i]['price'];
    // 直接输出你想要的格式
    echo "[[$date,$price]]";
    

    但一定要注意,这种输出不是标准JSON,其他系统或前端解析时大概率会报错,除非对方专门做了兼容处理。

额外建议

如果你的需求是让前端能识别这个日期,其实完全不用纠结引号的问题。前端拿到带引号的日期字符串后,直接用new Date("2018/05/03")就能转成日期对象,反而比不规范的格式更可靠。

内容的提问来源于stack exchange,提问作者AFV

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:42:15