2011-03-14 54 views
1

我剛剛解析JSON - 直到這一點,我一直是純粹的XML。不管怎麼說,我使用JSON(Java ME)來解析結構如下東西:幫助解析簡單的JSON(使用JSON for JAVA ME)

{"name" : "JACK","name" : "JILL","name" : "JOHN","name" : "JENNY","name" : "JAMES","name" : "JIM"} 

這裏是我的代碼:

try { 
     JSONObject json = new JSONObject(response); 
     JSONArray jsonArray = outer.getJSONArray("name"); 
     System.out.println("ARRAY SIZE:" 
       + jsonArray.length()); 
    } catch (JSONException ex) { 
    } 

我的問題是,我甚至無法獲得的println(「ARRAY SIZE:「...」語句在我的Eclipse控制檯中完全輸出。那我能得到任何輸出的唯一的一次是,如果我使用下面的代碼:

try { 
     JSONObject json = new JSONObject(response); 
     System.out.println("OUTPUT:" 
       + json.getString("name")); 
    } catch (JSONException ex) { 
    } 

...這似乎給我的只有最後一個元素。有沒有理由不能讓JSONArray工作?是否因爲JSON不包含「外部」鍵?

我很感激任何幫助。謝謝!

+2

嘗試這種方式:'{「names」:[「JACK」,「JILL」,「JOHN」,「JENNY」,「JAMES 「,」JIM「]}' – 2011-03-14 20:10:31

+0

Java編程中的一般提示:不要禁止/吞下異常。只需扔掉它們或者至少用'ex.printStackTrace()'打印它們。它們包含有關問題原因的寶貴信息。 – BalusC 2011-03-14 20:15:46

+0

謝謝,BalusC。只是刪除了異常處理以儘量減少代碼。 – littleK 2011-03-14 20:37:05

回答

3

密鑰必須是唯一的。你需要使用‘名1’,將那些「名」的‘名稱2’,...等

+0

不幸的是,JSON是由我的控制中的Web服務返回的。我將不得不隨身攜帶。很高興知道,但是 - 謝謝! – littleK 2011-03-14 20:38:02

0

哎嗨創造這樣一個格式的JSON文件.... {"name1" : "JACK","name2" : "JILL","name3" : "JOHN","name4" : "JENNY","name5" : "JAMES","name6" : "JIM"} &保存在WEB-INF文件服務器上的文件夾&從服務器讀取此文件得到響應... 謝謝