我正在使用JsonElements及其addProperty
方法。JsonElement 有 4 个重载addProperty
方法,我想将它们压缩为一个,以便更容易添加属性。这就是我开始写的内容,我意识到棘手的部分将是弄清楚一个字符串是否是Number
.
关于如何改进这种方法的任何想法?
public JsonElementBuilder addProperty(final String property, final Object value)
{
if (parent instanceof JsonObject) {
if (value instanceof Boolean) {
((JsonObject) parent).addProperty(property, (Boolean)value);
} else if (value instanceof Character) {
((JsonObject) parent).addProperty(property, (Character)value);
} else if (value instanceof Number) {
((JsonObject) parent).addProperty(property, (Number)value);
} else if (value instanceof String) {
if (isInteger((String)value))
{
((JsonObject) parent).addProperty(property, (Number)value);
} else {
((JsonObject) parent).addProperty(property, (String)value);
}
}
}
private boolean isInteger(String s) {
try {
Integer.parseInt(s);
} catch(NumberFormatException e) {
return false;
}
return true;
}