【发布时间】:2011-05-17 00:46:26
【问题描述】:
我有一个数据结构,它的顶层是一个字典,并且包含列表。一个典型的例子可能是:
array('foo' => array(1, 2, 3),
'bar' => array(4, 5, 6));
顶级字典可能没有属性,内部列表可能为空。
这些结构需要进行 JSON 编码。问题是 PHP 不区分空字典和空列表,因此它不知道 array() 是否应该呈现为 '{}' 或 '[]'。我可以通过这样做来强制“{}”
json_encode($object, JSON_FORCE_OBJECT);
但是会呈现
array('foo' => array());
as '{"foo": {}}',当它应该是 '{"foo": []}'。如果我省略了 JSON_FORCE_OBJECT,那么
array();
当它应该是 '{}' 时被呈现为 '[]'。除了放弃 PHP 并用理智的语言编写它之外,还有什么解决方案?
【问题讨论】: