在ColdFusion 9中,我正在序列化一个ORM实体。但是,在执行此操作时,它缺少关系实体。
ColdFusion用于将复杂对象转换为JSON表示法的serializeJSON()
方法似乎无法在ORM对象上正常工作。在ORM对象上使用serializeJSON()
时,不会返回任何具有其他对象数组属性的对象!
之前有没有人解决过这类问题?你是怎么处理的?
感谢。
答案 0 :(得分:1)
问题解决了!这不是你必须将remotingFetch设置为true的错误!默认情况下,对于具有一对一,一对多,多对一或多对多关系的属性,它设置为false。
答案 1 :(得分:1)
我遇到了与远程方法类似的问题,并提出了一个递归函数,它将内省你的CFC并发回你需要的属性。您可以指定(使用CFC上的属性)您执行和不想返回的属性。实际上,您可以通过属性的“组”来执行此操作,因此您可以将“id”和“name”分配给“compact”组,将CFC中的其余属性分配给“full”组。它还将处理序列化嵌套组件(ORM或其他)。另一个很大的优点是Adobe的序列化方法不会从继承的对象中序列化属性。因此,如果您有父对象,则序列化时不会返回这些属性。我的toSerializable()方法解决了这个问题。
检查出来:http://www.justcodefaster.com/blog/2012/07/toserializable-method-for-coldfusion-objects/