我正在使用 Oracle Rest Data Services(ORDS 与使用 JSON 格式的一些客户进行通信。当我创建 JSON_OBJECT 并尝试对其进行字符串化时,某些数字不符合 ECMA-404 标准。
PLSQL 示例:
PROCEDURE TEST_PROC(myJson OUT CLOB) IS
myNumber NUMBER;
BEGIN
jsonObject := new JSON_OBJECT_T();
myNumber := 0.05;
jsonObject.put("myNumberOutput", myNumber);
myJson := jsonObject.to_clob();
END PROCEDURE;
myJson 的最终值(这是我发送给我的客户的)是:
{"myNumberOutput" : .05}
我所期望的:
{"myNumberOutput" : 0.05}
奇怪的是,如果我将 myNumber 设置为 0.5 而不是 0.05,那么我从 Oracle 得到的结果是:
{"myNumberOutput" : 0.5}
就像我预期的那样。
有没有人知道我应该怎么做才能获得具有数字格式的 json 字符串,并且当数字小于 0.1 时,前导零?