如何检查变量的内容是否为字符串?
实际上我要求我需要检查json值是否为字符串。
String str = "{\"a\":1,\"b\":\"2\",\"c\":\"3\"}";
JSONParser content_parser = new JSONParser();
Object objMessage_Content = content_parser.parse(str);
JSONObject jsonObjectMessage_Content = (JSONObject) objMessage_Content;
jsonObjectMessage_Content.get("a");
上面的行返回一个Object,但我需要将其转换为字符串。 如果我从json获得Long值,我怎么能把它转换成字符串?
我也需要检查null
值。
答案 0 :(得分:1)
使用instanceof
运算符检查Object是否是特定类型的实例。
Object content = jsonObjectMessage_Content.get("a");
if (content instanceof String) {
String string = (String) content;
// Do something ...
} else {
// Not a String
}
如果您还希望将其他内容转换为字符串,例如您对问题的更新建议,则可以在对象上使用toString()
方法:
Object content = jsonObjectMessage_Content.get("a");
if (content == null) {
// No content
} else {
String string = object.toString();
// Do something with the String. It's a String now, regardless
// of whether it was a String, Integer, Long, etc. before
}