2011-09-06 6 views
6

Cuando tengo un objeto de cadena Json con un espacio en él, aparece el siguiente error.Android: la cadena Json con espacios da la excepción "Objeto sin terminar en"

Java:

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> 

soy 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> 

¿Cito algo incorrecto?

EDITAR: Leyendo mi propia publicación Me di cuenta de que el mensaje de error no tiene ninguna comilla alrededor de los valores del objeto de cadena. Así que cambié el "to \" en la cadena xml y funcionó bien. ¿Alguna idea de cómo eliminarla sin eliminar las comillas?

+0

eliminar espacios y verificar una vez el nombre de la matriz uno – Harsha

Respuesta

7

lectura a través de mi propio puesto me di cuenta de que el mensaje de error no tiene ningún comillas alrededor de los valores objeto de cadena. Así que cambié el "to \" en la cadena xml y funcionó bien.

1

Intente envolverlo en un bloque CDATA. Esto debería evitar cualquier confusión.

<resources> 
    <string name="event"><![CDATA[ 
     {"Array":[{"Name":"One two three"},{"Name":"Two"},{"Name":"Three"}]} 
    ]]></string> 
</resources> 
+1

No, no funcionó. –

+0

No funcionó. Sin citas después de leer –

Cuestiones relacionadas