Parse el objeto JSON solo con cadena y valor

Tengo un problema cuando bash analizar el valor mínimo para mapear en Android.

Hay algunos ejemplos de formato JSON con más información ex:

[{id:"1", name:"sql"},{id:"2",name:"android"},{id:"3",name:"mvc"}] 

Este ejemplo, el más común de usar y fácil de usar, solo usa getString("id") o getValue("name") .

Pero, ¿cómo puedo analizar el mapa utilizando este formato JSON con solo el formato mínimo de cadena y valor para la colección de mapas de Java mediante el bucle? Y porque la cadena json siempre será diferente una de otra. ex:

 {"1":"sql", "2":"android", "3":"mvc"} 

Gracias

Necesita obtener una lista de todas las claves, recorrerlas y agregarlas a su mapa como se muestra en el siguiente ejemplo:

  String s = "{menu:{\"1\":\"sql\", \"2\":\"android\", \"3\":\"mvc\"}}"; JSONObject jObject = new JSONObject(s); JSONObject menu = jObject.getJSONObject("menu"); Map map = new HashMap(); Iterator iter = menu.keys(); while(iter.hasNext()){ String key = (String)iter.next(); String value = menu.getString(key); map.put(key,value); } 

Mi ejemplo de pseudocódigo será el siguiente:

 JSONArray jsonArray = "[{id:\"1\", name:\"sql\"},{id:\"2\",name:\"android\"},{id:\"3\",name:\"mvc\"}]"; JSON newJson = new JSON(); for (each json in jsonArray) { String id = json.get("id"); String name = json.get("name"); newJson.put(id, name); } return newJson;