我有一个
JSONObject包含一个十进制值的字符串,如下所示:
private static RegisterIn ParseRegisterIn(JSONObject object)
{
RegisterIn toReturn = new RegisterIn();
try {
toReturn.setUsername(object.getString("username"));
toReturn.setCertificate(new Short(Integer.toHexString(object.get("certificate"))));
} catch (JSONException e) {
e.printStackTrace();
}
return toReturn;
}
证书对象值为15879,对应于十六进制的3E07.我想从JSONObject中恢复它并将其保存在一个短属性中.而且它必须是那样的.
我试图访问参数并恢复上面发布的,但我得到以下异常:
java.lang.NumberFormatException: Invalid int: “3e07”
如何获取此十进制值,将其转换为十六进制,并将其保存为短值?
注意:
toReturn.setCertificate(...)
是短型的.
最佳答案 你需要用,
Short.parseShort(object.getString("certificate"), 16);