当然,这个主题有点棘手......我认为json_encode php功能完美无缺。
但我正在做的事情肯定有问题。
我的PHP程序中有一个实际包含数据的变量。结构化数据的排序,因为它是一个对象变量,其所有属性都设置正确。
但是,奇怪的是,当我将json_encode应用于该变量时,它只是不会“填充”json对象。
见下面的案例:
这绝对是我做错了什么。但是......什么?
提前多多感谢。
佩德罗
答案 0 :(得分:5)
编辑:由于OP来自西班牙,我用西班牙语回答,这是英文翻译:
json_encode
仅适用于公共属性,它不能获取对象的私有或受保护属性,并且在没有任何帮助的情况下形成JSON表示。
要使用所有属性序列化对象,您需要手动实现一个函数来执行此操作。官方PHP文档就如何执行此操作提供了一个很好的示例here
西班牙语:
json_encode
solo funciona con propiedades publicas,no puede tomar las propiedades privadas o protegidas de un objeto y formar una representacion de JSON sin ayuda。
Para poder serializar un objeto con TODAS sus propiedades,tienes que implementar tu propia funcion en la clase del objeto que esta siendo serializado。 La documentacion de PHP tiene unos buenos ejemplos de como hacer esto: http://www.php.net/manual/en/function.json-encode.php#96248