在我的网络应用程序中,我有一些用JavaScript编写的复杂对象(即嵌套数组,带对象的对象内的对象等),我的应用程序的性质依赖于这些。我需要将所有数据发送到PHP,以便我可以将其保存到数据库中。将对象发送到PHP的有效,简单的方法是什么?我尝试过JSON,但是遇到了“过多的递归”等奇怪的错误,我猜这意味着我的对象太复杂了。那么有一个很好的脚本库可以做到这一点吗?提前谢谢。
编辑:
那么JSON呢。我尝试更新JSON库无济于事,我现在正在寻找循环引用。
答案 0 :(得分:5)
JSON 是正确的答案。
我怀疑您的JSON库已损坏或限制太多。检查JSON以查看它是否格式正确,如果是,请找到一个更好的库来处理您的数据结构。
还要考虑简化数据结构。这对你自己的好处来说可能太复杂了。
答案 1 :(得分:2)
如果您的对象具有循环引用,那么几乎任何JSON库都会有太多的递归错误。我尝试的javascript实现的递归限制远远超过~100级,所以你的对象必须真的复杂。
在尝试使用任何类型的库序列化对象之前,您需要检测并消除循环引用。
编辑:刚刚测试了Firefox 3.5,它在3000级递归时达到顶峰。
答案 2 :(得分:1)
我同意 - JSON就是答案。我认为您遇到的错误可能是您正在使用的库的一部分......
http://markmail.org/message/2d5lvmdeg2qg55qr
提到同样的错误。
我使用了许多复杂的JSON对象,从未遇到过这个错误 - 我会说其他的东西在起作用。