json - Dancer2 对服务器上的所有内容进行字符串化,但不在本地
问题描述
我在我的 mac 的 pleenv 的 v5.26.2 上本地运行相同的代码(我的 Dancer2 应用程序)但是当我运行应用程序时(无论是使用 plackup 或 starman 还是在 Apache 后面代理,使用我们没有 SSL,或者使用 Curl 在每个位置本地请求)服务器-running 实例正在对响应负载中的所有内容进行字符串化。
"custid": "5000",
在 ubuntu 16 服务器上(系统 perl v5.22.1 - 库与我的本地实例的版本相同)
"custid": 5000,
在我的本地机器上。
在我的config.yml
我得到(除其他外,但这是唯一的engines
障碍)
content_type: "application/json"
serializer: "JSON"
engines:
serializer:
JSON:
pretty: 1
数据本身确实来自数据库,但我的本地机器和服务器DBIx::Class
分别连接到具有相同 ResultSources 的同一个远程(不是 ubuntu 本地)mysql 服务器。
我能想到的一件事是要使用的服务器,Cpanel::JSON::XS
并且在结果到达序列化程序之前将结果作为字符串“触摸”,但我不确定如何检查每个正在运行的应用程序实例上实际使用的 JSON 库。
那么 - 我如何使用相同的代码获得不同的字符串化?如何检查每个实例上使用的 JSON 库?
解决方案
Dancer2 使用 JSON::MaybeXS来决定加载哪个模块。您可以使用其上的->JSON
类方法来询问它加载了哪个。
$ perl -MJSON::MaybeXS -E 'say JSON::MaybeXS->JSON'
推荐阅读
- html - 如何在保留折叠边距的同时清除修复?
- c - 为什么我得到 0 结果?
- alexa - 让 alexa/amazon echo 说出我输入的内容
- python - 如何找到图像中最外层的线条?
- android - 上传到播放商店 64 位
- c# - EntityFramework - 具有密钥 (PK) 的实体不会往返
- java - Spring 在 JUnit 测试中找不到 DataSource Bean
- python-3.x - vscode pytest 测试发现因缺少环境变量而失败
- ios - Firebase 调试从导出的 ipa 文件安装的应用查看实时事件
- gauge - 相同的计量步骤,不同的实现