2011-05-09 46 views
7

¿cómo puedo convertir un JSONObject como "{hello1: hi, hello2: hey}" en "hello1: hi, hello2: hey" sin estos corchetes { }?JSONObject to String Android

Sé que hay una oportunidad de usar JSONObject.tostring pero luego obtendré una cadena con los corchetes.

Gracias a todos.

Respuesta

12

Simplemente haga una subcadena o cadena de reemplazar.

Pseudo subcadena Ejemplo:

JSONObject a = new JSONObject("{hello1: hi, hello2: hey}"); 
String b = a.toString().substring(1, a.toString().length() - 1); 

Pseudo cadena replace Ejemplo:

JSONObject a = new JSONObject("{hello1: hi, hello2: hey}"); 
String b = a.toString().replace("{", ""); 
String c = b.toString().replace("}", ""); 
+2

tendrás que deletrear 'length' not' lenght' :) – user3241507

2

Suponiendo que realmente quiere hacer algo más elaborado que su pregunta sugiere y se puede hacer un poco suposiciones sobre el JSON con el que trabajará, puede hacer algo como lo siguiente para obtener cualquier formato de salida que desee.

JSONObject json = new JSONObject("{hello1: hi, hello2: hey}"); 

StringBuilder sb = new StringBuilder(); 
for(String k : json.keys()) { 
    sb.append(k); 
    sb.append(": "). 
    sb.append(json.getString(k)); 
    sb.append(", ") 
} 

// do something with sb.toString() 

Por otra parte, podría haber leído en esto demasiado (en cuyo caso la respuesta de @ ProgrammerXR que hacer el truco).