我想预解析一个json,然后将json中的所有数字(整数或浮点数)转换为字符串。
例如:
{ "integer": 10000, "big_integer": 100000999499498485845848584584584, "float1" : 1.121212, "float2" : 8.226347662837406e+09 }
对此:
{ "integer": "10000", "big_integer": "100000999499498485845848584584584", "float1" : "1.121212", "float2" : "8226347662.837406" }
更新 我发现以下内容,但不适用于浮点数:
$jsonString = '[{"name":"john","id":5932725006},{"name":"max","id":4953467146}]'; echo preg_replace('/("\w+"):(\d+)/', '\\1:"\\2"', $jsonString); //prints [{"name":"john","id":"5932725006"},{"name":"max","id":"4953467146"}]
更新2 固定的第二个浮点值。它有两点。
使用这个:它应该工作
echo preg_replace('/\: *([0-9]+\.?[0-9e+\-]*)/', ':"\\1"', $jsonString);