【发布时间】:2011-09-04 23:56:37
【问题描述】:
我有一个 symfony 应用程序,它使用 json_encode 和 json_decode 来记录一些价格。
问题是 json_decode 在一个文件中工作正常(我可以解码存储在我的 PSQL 数据库中的字符串),但是当我从其他文件调用它时 json_decode 返回 null,我检查了文件编码(都是 utf -8) 表和数据库编码(utf-8 也是)。所以不知道问题出在哪里,也试过utf8_encode()...
任何帮助将不胜感激。 谢谢。
这是有效的编码 json(它是一个由 php json_encode 编码的数组)
{"1":{"1":{"fechaInicio":"30-05-2011","precios":{"1":{"precio":"20000","abreviatura":"CLP"}},"fechaRetiro":"31-05-2011"}},"2":{"2":{"fechaInicio":"30-05-2011","precios":{"1":{"precio":"20000","abreviatura":"CLP"}},"fechaRetiro":"31-05-2011"}}}
数组:
$preciosOfertor = Array ( [unidades] => Array ( [1] => Array ( [1] => Array ( [fechaInicio] => 30-05-2011 [precios] => Array ( [1] => Array ( [precio] => 20000 [abreviatura] => CLP ) ) [fechaRetiro] => 31-05-2011 ) ) [2] => Array ( [2] => Array ( [fechaInicio] => 30-05-2011 [precios] => Array ( [1] => Array ( [precio] => 20000 [abreviatura] => CLP ) ) [fechaRetiro] => 31-05-2011 ) ) ) )
为了编码,我使用:
$preciosOfertor = json_encode($preciosOfertor);
然后我打电话
$precios = json_decode($databaseObject->getPreciosOfertor(),true);
当我在对数组进行编码的文件中使用 json_decode 时,它可以工作,但是当我在项目的其他文件中使用它时,我只是通过 var_dump() 得到 NULL。
按照建议安装了 Services_JSON,但现在我得到一个空数组
Services_JSON 编码的 json 是这个:
{"unidades":{"1":{"1":{"fechaInicio":"30-05-2011","precios":{"1":{"precio":"20000","abreviatura":"CLP"}},"fechaRetiro":"31-05-2011"}}}}
但是当我调用 $json->decode() 我得到 Array ( )
【问题讨论】:
-
你能显示代码吗? :)
-
请使用此信息编辑您的问题。并使用 {}(代码格式化)按钮来格式化代码。检查预览的外观
-
如果问题解决了,不要在标题中加上
[SOLVED]。这不是论坛什么的。只需将最有用的答案标记为已接受,或者如果没有,请发布您自己的答案并在时间允许时将其标记为已接受。具有已接受答案的问题(即已回答的问题、已解决的问题)以深绿色背景显示在列表中,并且答案框中的计数为黄色。 -
好的,我会在网站允许时添加答案。