ColdFusion преобразует строку в число при переходе в JS через SerializeJSON и deSerializeJSON.ColdFusion SerializeJSON и deSerializeJSON преобразует строку в число
Это происходит только тогда, когда между двумя наборами чисел используется «E». например 3E6, 65E3, 56e45 и т. д. Это код внутри cfscript.
x = "2e9";
writedump(SerializeJSON(x));
writedump(deSerializeJSON(SerializeJSON(x)));
Output:
2.0E9 2000000000
Просьба предложить, если есть какие-либо другие способы решения таких вопросов.
Почему вы сериализуете переменную, содержащую строку? Вам действительно нужно сериализовать массивы или структуры. –
Это просто случай с воспроизведением, Саймон: он будет воздействовать на подобную строку в любой части структуры данных, которая будет сериализована. –
Странно, если я выделил вышеприведенный код, как этот **
x = 2e9;
\t \t \t y = SerializeJSON (x);
\t \t \t z = deSerializeJSON (y);
\t \t \t \t writedump (z); **
, я получаю выход 2000000000. Может ли кто-нибудь рассказать об этом? –