Я использую Oracle Rest Data Services (ORDS для связи с некоторыми клиентами, использующими формат JSON. Когда я создаю JSON_OBJECT и пытаюсь его преобразовать в строку, некоторые числа не соответствуют стандарту ECMA-404.
PL SQL Пример:
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;
Конечное значение моего Json (это то, что я отправляю своему клиенту):
{"myNumberOutput" : .05}
То, что я ожидал:
{"myNumberOutput" : 0.05}
Странная часть в том, что если вместо 0,05 я установлю myNumber с 0,5, результат, который я получу от Oracle, будет:
{"myNumberOutput" : 0.5}
просто как то, что я ожидал.
Есть ли у кого-нибудь идеи, что я должен сделать, чтобы получить строку json с числовым форматом и начальным нулем, когда число меньше 0,1?