Gson. Convirtiendo a JSON una contraseña con el carácter =
Estoy utilizando Gson en una aplicación de Android para convertir un objeto complicado a la representación de JSON. Uno de los campos es una cadena llamada QuickPin que contiene una contraseña cifrada y el carácter "=" se convierte en "\ 003d" por Gson.
La cadena Json es consumida por una aplicación C # WEBAPI, pero devuelve el mensaje "se ha producido un error".
- ISO 8601 con milisegundos y Retrofit
- Uso de Gson para analizar subclases con diferentes campos
- Se esperaba BEGIN_OBJECT pero era BEGIN_ARRAY en la línea 1 de la columna 2 path $
- ¿Cómo analizar estos datos JSON utilizando GSON? Y ponerlo en un ArrayList
- Gson deserializando objetos anidados con InstanceCreator
El siguiente JSON devuelve ese mensaje de error:
{"UserContractID":"929c1399-11c4-490e-8cff-5b1458ac18e2","UserAuthentication":"MethodCombo":{"AuthMethod":[1]},"QuickPin":"mW2n2uTECEtVqWA2B9MzvQ\u003d\u003d"},"CustomerID":0,"OriginID":0,"OriginTypeID":0,"Status":0}
Mientras tanto, este JSON funciona bien:
{"UserContractID":"929c1399-11c4-490e-8cff-5b1458ac18e2","UserAuthentication":{"QuickPin":"mW2n2uTECEtVqWA2B9MzvQ==","MethodCombo":{"AuthMethod":[1]}},"CustomerID":0,"OriginID":0,"OriginTypeID":0,"Status":0}
¿Hay alguna forma de obligar a Gson a mantener la cadena con la contraseña con los caracteres = (y otros si es el caso)?
Mi código de Android es:
Gson gson = new Gson(); user = new User(); user.UserAuthentication = new UserAuthentication(); user.UserAuthentication.QuickPin = "mW2n2uTECEtVqWA2B9MzvQ=="; user.UserAuthentication.MethodCombo = new MethodCombo(); user.UserAuthentication.MethodCombo.AuthMethod = new ArrayList<Integer>(); user.UserAuthentication.MethodCombo.AuthMethod.add(1); user.Status = 0; String jsonRepresentation = gson.toJson(user); object.put("user", jsonRepresentation);
Gracias
- JSON a ListView en Android con Gson
- Envío de DateTimeOffset desde Android a .NET Web API
- Convertir ArrayList con Gson a String
- Gson: establece el formato de fecha para la marca de tiempo y la zona horaria
- Modificación retroactiva de caracteres especiales
- NumberFormatException en GSON al convertir String a doble
- Cómo configurar gson para excluir 0 valores enteros
- Android: rendimiento de gson
Gson escapa metacaracteres HTML de forma predeterminada. Puede desactivar este comportamiento .
Gson gson = new GsonBuilder().disableHtmlEscaping().create();