php - 公共属性的 json_encode() 行为
问题描述
我知道这有效:
<?php
class MyDTO
{
public $foo;
public $bar;
}
$dto = new MyDTO();
$dto->foo = 42;
$dto->bar = false;
echo json_encode($dto); // {"foo": 42, "bar": false}
但是我在 PHP 文档中找不到对这种json_encode()
行为的任何引用。所以我的问题是:可以依赖它吗?
或者,我可以实现\JsonSerializable
接口,但我不喜欢在内部重复 DTO 字段,\JsonSerializable#jsonSerialize()
因为这些 DTO 将只包含公共字段。
解决方案
推荐阅读
- php - 日志未显示在 codeigniter 3 的日志文件夹中
- javascript - 当我的机器人加入新服务器并离开到文本文件时记录
- c# - .NET Core Dapper:通过将组合主键上的多个表作为对象与对象列表连接来获取数据
- jsf - UIInput 和 UICommand 的自定义组件
- python - 如何使用 xpath (Scrapy) 从 dict 获取数据
- java - 在 BST 中找到最常见的元素
- c# - 使用组合框和按钮更改标签
- jenkins - Jenkins管道中美元符号后的非法字符串主体字符
- visual-studio - 在 Visual Studio 中使用(完整)用户路径的 NuGet 依赖项参考链接
- ms-access - 无效的语法无限循环