Estoy trabajando en una aplicación para Android. En mi aplicación, tengo que convertir una cadena a Json Object, luego analizar los valores. Busqué una solución en stackoverflow y encontré un problema similar aquí enlace
La solucion es asi
`{"phonetype":"N95","cat":"WP"}`
JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
Utilizo la misma forma en mi código. Mi cuerda es
{"ApiInfo":{"description":"userDetails","status":"success"},"userDetails":{"Name":"somename","userName":"value"},"pendingPushDetails":[]}
string mystring= mystring.replace("\"", "\\\"");
Y después de reemplazar obtuve el resultado como este
{\"ApiInfo\":{\"description\":\"userDetails\",\"status\":\"success\"},\"userDetails\":{\"Name\":\"Sarath Babu\",\"userName\":\"sarath.babu.sarath babu\",\"Token\":\"ZIhvXsZlKCNL6Xj9OPIOOz3FlGta9g\",\"userId\":\"118\"},\"pendingPushDetails\":[]}
cuando ejecuto JSONObject jsonObj = new JSONObject(mybizData);
Recibo la siguiente excepción json
org.json.JSONException: Expected literal value at character 1 of
Ayúdame a resolver mi problema.
Respuestas:
Quita las barras:
fuente
JSONArray obj = new JSONArray(json);
. Luego puede usar un bucle for para iterar a través de la matriz.{"Fat cat":"meow"}
.es trabajo
fuente
prueba esto:
fuente
Para obtener un JSONObject o JSONArray de una cadena, he creado esta clase:
Aquí para obtener el JSON:
Ejemplo:
fuente
[
o{
para saber si es una matriz o un objeto. Entonces no estaría arriesgando ambas excepciones, solo la pertinente.solo prueba esto, finalmente esto funciona para mí:
fuente
Solo necesita las líneas de código de la siguiente manera:
fuente
Aquí está el código y puede decidir cuál
StringBuffer (sincronizado) o StringBuilder más rápido usar.
Benchmark muestra que StringBuilder es más rápido.
fuente
Puede estar debajo es mejor.
fuente