Android: Json cadena con espacios da "objeto no terminado en" excepción
Cada vez que tengo un objeto de cadena Json con un espacio en él, obtengo el siguiente error.
Java:
- Android - Conexión a la base de datos MySQL
- Excepción de JsonReader en Android mientras se analizan datos JSON grandes
- Enviar y recibir datos desde el servidor mediante la API 6.0 (Android)
- Cómo analizar json cadena en Android?
- Cómo ignorar un elemento JSON en Android Retrofit
String jString = getResources().getString(R.string.event); JSONObject object = new JSONObject(jString);
Json:
<resources> <string name="event"> {"Array":[{"Name":"One two three"},{"Name":"Two"},{"Name":"Three"}]} </string> </resources>
Estoy recibiendo el siguiente mensaje:
09-06 22:35:08.214: WARN/System.err(1079): org.json.JSONException: Unterminated object at character 21 of {Array:[{Name:One two three},{Name:Two},{Name:Three}]}
Esto no tiene ningún problema:
<resources> <string name="event"> {"Array":[{"Name":"One"},{"Name":"Two"},{"Name":"Three"}]} </string> </resources>
¿Estoy citando algo mal?
EDIT: Leyendo a través de mi propio poste Noté que el mensaje de error no tiene ninguna comillas alrededor de los valores del objeto de la secuencia. Así que cambié el "a \" en la cadena xml y funcionó bien. ¿Alguna idea de cómo no eliminar las cotizaciones?
- Cómo invocar deserializar por defecto con gson
- .execute no se puede resolver a un tipo - AsyncTask (Android)
- ¿Cómo puedo enviar JSon como BODY en una solicitud POST al servidor desde una aplicación de Android?
- Servidor ByetHost que pasa valores html "Comprobación de su navegador" con JSON String
- Obtención de imagen de la matriz de bytes en el objeto JSON a la aplicación de Android
- Gson, cómo deserializar matriz o cadena vacía
- Convertir objeto complejo de Java en Json
- Citas de relleno en JSONObject
Leyendo a través de mi propio mensaje me di cuenta de que el mensaje de error no tiene ninguna comillas alrededor de los valores de objeto de cadena. Así que cambié el "a \" en la cadena xml y funcionó bien.
Intente envolverlo en un bloque CDATA. Esto debe evitar cualquier confusión.
<resources> <string name="event"><![CDATA[ {"Array":[{"Name":"One two three"},{"Name":"Two"},{"Name":"Three"}]} ]]></string> </resources>
- Android: Cómo rellenar un ListView con el indexador de alfabeto y fastscroll como en la aplicación de contactos.
- Medición de la fuerza de la señal del teléfono "real" en un teléfono móvil