检查变量内容是否包含字符串

时间:2016-03-18 02:13:50

标签: java

如何检查变量的内容是否为字符串?

实际上我要求我需要检查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值。

1 个答案:

答案 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
}