生成一个含有JSON浮点数以下0
问题描述:
我一直在寻找很多论坛和问题,但无法找到任何找到这个任何回答。生成一个含有JSON浮点数以下0
简单的话是有可能创造在PHP这样的JSON响应:
{
"Balance": 1.200
}
1.2000
不是一个字符串。
答
如果the result they want不是一千零二一百个as suggested通过bub,那么你就不会abble给他们不必要的尾随零的整数,它没有任何意义了整数有他们。
如果有可能,你会如何存储零的整数中的数字? AFAIK这是不可能的。
答
恐怕你将需要调整你自己的JSON字符串。例如为:
- 从数
1.2
生成JSON字符串之前转换余额的值串"@@[email protected]@"
。 - 生成JSON字符串
- 使用PHP的字符串与
[whatever_number_with_trailing_zeroes]
答
当然可以更换的"@@[whatever_number]@@"
所有出现,一切是可能的,但你的JSON不会是有效的(虽然大部分JSON解析器不会抱怨) - 只储存你的“填充”平衡的字符串,然后后处理以去除其报价:
// Make sure your data contains Balance in the format you need, as string
$your_data = array('Balance' => '1.200', 'foo' => 'bar');
// Encode your data the regular way
$json = json_encode($your_data);
echo "Before: $json"; // Before: {"Balance":"1.200","foo":"bar"}
// remove quotes around balance instances in your JSON
$fixed_json = preg_replace('/Balance":(\s*)"(.*?)"/', 'Balance":$2$1', $json);
echo "After: $fixed_json"; // After: {"Balance":1.200,"foo":"bar"}
当然,请记住,这将删除报价FR om无论您的JSON水平如何,所有Balance
值。
更大的问题是谁,心里明白过来,将要求您无效JSON发给他们的API?
为什么需要0的? –
我正在整合一个API,他们希望我们的回应是这样的。 – Kanav
你可以但最后00会丢失,意味着你会得到“平衡”:1.2 –