我一直在搜索很多论坛和问题,但无法找到任何答案。
简单来说就是可以在php中创建这样的json响应:
{
"Balance": 1.200
}
1.2000
不是字符串。
答案 0 :(得分:2)
如果the result they want不是一千零二百{/ em> as suggested bub,那么你将无法向他们发送一个带有不必要尾随的整数零,对于一个整数来说它没有任何意义。
如果有可能,你会如何在整数值中存储零的数量? AFAIK是不可能的。
答案 1 :(得分:0)
我担心你需要自己调整JSON字符串。 E.g:
1.2
转换为字符串"@@1.2@@"
。"@@[whatever_number]@@"
所有出现的[whatever_number_with_trailing_zeroes]
答案 2 :(得分:0)
当然,所有都是可能的,但你的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"}
当然,请记住,无论级别如何,这都会删除JSON中所有Balance
值的引号。
更大的问题是,在他的正确思想中,谁会要求您向其API发送无效的JSON?