2014-04-25 64 views
0

我有這個JSON數據文件MAC地址的數據類型?

[{"entityClass":"DefaultEntityClass","mac":["00:00:00:00:00:02"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:00:00:00:00:00:00:02","port":1,"errorStatus":null}],"lastSeen":1398463052792}] 

,我想要得到的 「MAC」。但我不知道必須使用哪種數據類型,因爲服務器 表示它既不是長整數也不是字符串值。哪個數據類型是這個「mac」?

我的代碼:

try { 
     JSONArray arraydevice = new JSONArray(devicesJson); 
     JSONObject obj = arraydevice.getJSONObject(0); 
     long mac = obj.getLong("mac"); 
     System.out.println("The mac address of the host is " + mac); 

    } 
catch (JSONException e) { // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

預先感謝

+0

你真的必須使用org.json嗎? :/這是存在的「最差的」JSON庫 – fge

+0

我剛剛在Google上找到它。爲什麼它被認爲是不好的? –

回答

1
["00:00:00:00:00:02"] 

是與一種元素的陣列,並且該元素是一個字符串。

String mac = obj.getJSONArray("mac").getString(0); 

,雖然它很可能是一個好主意,檢查數組和.length()嘗試之前get東西出來,在情況下,它原來是空的。

+0

它的工作原理。非常感謝你 ! –

0

從JSON模式的MAC地址看起來像一個字符串數組。但是,如果您在服務器上定義了一個Class結構,則可以使用該結構將JSON轉換爲對象。