optimizely / optimizely/java-sdk

[BUG] Gson deserialization treats integers as doubles, breaking downstream serializers

Abierto
#622 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

acknowledged bug
Lenguaje dominante
Java
Estrellas
44
Forks
32
Merge medio
8 h 39 min
PR fusionados (30 d)
1

Descripción

Is there an existing issue for this?
  • I have searched the existing issues
SDK Version

4.4.0

Current Behavior

When using JSON variables with GsonConfigParser, integers within JSON variables appear as doubles to outside consumers. The Map output then can't be returned to valid JSON for use with downstream JSON parsing tools, like kotlinx.serialization.

Expected Behavior

Integer-looking JSON values are deserialized to longs, while decimal-looking JSON values are deserialized to doubles.

Steps To Reproduce

See associated pull request.

Java Version

21

Link

No response

Logs

No response

Severity

Minor issue

Workaround/Solution

Re-interpret doubles as integers where needed.

Recent Change

No response

Conflicts

No response

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza en el punto de entrada GsonConfigParser de la versión 4.4.0 del SDK y reproduce con Java 21 el comportamiento de las variables JSON descrito en el issue. Compara los valores con apariencia de enteros y de decimales en el Map resultante; se considera terminado cuando los enteros se representan como longs y los decimales como doubles sin afectar a la serialización JSON posterior.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
55/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.