-1

JSONObjectメソッドを使用してa を反復したいkeys()。問題は、キーの 1 つが整数であることです。

Iterator it = json.getJSONObject("body").keys();

このkeys()メソッドは文字列値からイテレータを作成するだけで、キーの 1 つが整数の場合に例外が発生します。これを解決するにはどうすればよいですか?

4

2 に答える 2

1

次の例を読んでください

 String s = "{menu:{\"1\":\"sql\", \"2\":\"android\", \"3\":\"mvc\"}}";
JSONObject jObject  = new JSONObject(s);
JSONObject  menu = jObject.getJSONObject("menu");

Map<String,String> map = new HashMap<String,String>();
Iterator iter = menu.keys();
while(iter.hasNext()){
    String key = (String)iter.next();
    String value = menu.getString(key);
    map.put(key,value);
}
于 2013-12-02T11:48:07.357 に答える
0

JSON オブジェクト メンバーは、キーが常に文字列 ( ref ) であるキーと値のペアです。数値リテラルの場合、JSON は無効です。その無効な JSON を生成しているものはすべて修正する必要があります。

于 2013-12-04T10:52:25.937 に答える