Code Simple pour la conversion de JSONObject à une Liste ou JSONArray?

J'ai lu à travers les différents threads et trouvé des problèmes similaires, mais ils ont été assez échec à trouver une solution pour mon problème particulier.

JSONObject orr = (JSONObject)orderRows.get("orderRows");
System.out.println("data in orr = " + orr + "orr's type = " + orr.getClass());

Retourne:

données dans orr =
{"470":[{"locationId":2,"quantity":1,"productId":1007}],"471":[{"locationId":2,"quantity":1,"productId":1008}]}orr l'
type = classe org.json.simple.JSONObject

Je vais essayer d'obtenir ces données dans un tableau/liste/quelque chose où je peux utiliser les touches, 470,471 pour récupérer les données.

Des suggestions ou des pointeurs beaucoup apprécié merci beaucoup...

À préciser:

JSONObject orr = (JSONObject)orderRows.get("orderRows");
        JSONArray orderOne = (JSONArray)orr.get("471");
        System.out.println(orderOne);
        System.out.println(orderOne.get(0));
        JSONObject orderOneKey = (JSONObject)orderOne.get(0);
        System.out.println(orderOneKey.get("productId"));

C'est ce que je suis après, mais de toute évidence je ne peux pas faire orr.get("471") comme je ne sais pas ce que ce nombre sera.

EDIT:
Apparemment, je ne peux pas répondre à ma propre question pour 8 heures:

Grâce à l'aide d'un ami et de se tripoter, j'ai trouvé une solution, je suis sûr que c'est pas le plus éloquent, mais c'est exactement ce que je recherchais:

for(Object key: orr.keySet()) {

                JSONArray orderOne = (JSONArray)orr.get(key);
                JSONObject ordervalue = (JSONObject)orderOne.get(0);
                System.out.println(ordervalue.get("productId"));
        }

Merci pour l'aide et les suggestions les gars.

OriginalL'auteur Mark | 2012-10-29