相关疑难解决方法(0)

如何将Moose对象转换为JSON以在Catalyst中使用?

我有一系列Moose对象,我希望通过Catalyst :: View :: JSON提供给JSON :: XS.JSON :: XS无法编码有福的数据结构.我知道MooseX :: Storage :: Format :: JSON可以 - 有点 - 做我想做的事; 但是,它似乎相当沉重.我正在寻找的与XXX.pm提供的信息基本相同.我只是想在原始数据结构递归unblessed所以(驱动程序是内部使用)可以显示它.JSON::XSJSON::AnyC:V:JSON

使用Catalyst::View::JSONJSON::XS使用Moose对象的最佳方法是什么?看来我有四个明显的选择:

  1. Catalyst::View::JSON工作与驼鹿对象,通过修补C:V:JSON的阅读freeze和完成的要求,如果曝光的参数是驼鹿对象.
  2. 补丁JSON::XS回退以返回值$obj->freeze if $obj->isa('Moose') && $obj->does('MooseX::Storage::Format::JSON').我应该调查MX:S:F:JSON以确保JSON::Any由代理使用的类MX:S:F:JSON是什么JSON::XS(如果为调用使用JSON::Any的Moose对象选择不同的内部编码器,则不愿意想到错误JSON::XS.
  3. 弄清楚如何递归 - 解禁并让它Catalyst::View::JSON做它的事情.
  4. 完全不要使用Catalyst::View::JSON.只需写入STDOUT $obj->freeze并手动完成请求..这似乎是最hackish.

我确定还有其他一些选择,任何想法?什么是我最好的选择?

perl serialization json moose catalyst

2
推荐指数
1
解决办法
2603
查看次数

标签 统计

catalyst ×1

json ×1

moose ×1

perl ×1

serialization ×1