最近在接別人API時,裡面有個參數是MD5驗證碼,而其中的data 是需要是 Json encode,但很奇怪當裡面的某一參數值是 1.0 或是 1.00時, 編碼出來就會只剩 1 造成我的MD5的值一直是錯誤的。
經過網路查詢 json 格式中,並沒有整數與浮點數的型態,本來想這樣回覆客戶請對方改一下程式,後來發現php 的 json_encode 可以帶一個參數 json_encode($data, JSON_PRESERVE_ZERO_FRACTION);就可以保留原始的數值。
1 2 3 4 5 6 |
$ar1=['name'=>'jeff','value'=>1.0]; echo json_encode($ar1); //顯示結果 {"name":"jeff","value":1} echo json_encode($ar1, JSON_PRESERVE_ZERO_FRACTION); //顯示結果 {"name":"jeff","value":1.0} |