MAC地址的数据类型?

时间:2014-04-25 22:39:20

标签: java json

我有这个JSON数据文件

[{"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();
    }

提前致谢

2 个答案:

答案 0 :(得分:1)

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

是一个包含一个元素的数组,该元素是一个字符串。

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

虽然在尝试之前检查数组的.length()可能是一个好主意,并且get之外的任何内容都可能是空的。

答案 1 :(得分:0)

从JSON模式中,MAC地址看起来像一个字符串数组。但是,如果在服务器上定义了类结构,则可以使用它将JSON转换为对象。