我们最近切换到了新的JSON2 perl模块。我以为一切都归还了。但是我遇到了一些情况,其中250perl创建的json字符串中的数字()作为未引用的数字返回。
250
出于好奇: 是否有人知道为什么存在这种情况以及json模块如何决定是否引用值?
您可以通过执行以下操作将其强制为字符串:
$number_str = '' . $number;
例如:
perl -MJSON -le 'print encode_json({foo=>123, bar=>"".123})' {"bar":"123","foo":123}
看起来旧版本的JSON具有可以设置的自动转换功能。您没有$JSON::AUTOCONVERT设置为真值吗?
$JSON::AUTOCONVERT