JsonObject getAsString throwing Exception



我是Java的新手,我正在尝试创建一个带有namevalue的json字符串。

public static String serializeToken(String name,String value){
JsonObject json = new JsonObject();
json.addProperty(name, value);
return json.getAsString();
}

但是对getAsString的调用会引发异常,并且消息只是:

JsonObject

这是getAsString方法的文档,它是这样说的:

获取此元素作为字符串值的方便方法。

抛出:

ClassCastException - 如果元素不是 JsonPrimitive 并且不是有效的字符串值。非法状态异常 - 如果 元素的类型为 JsonArray,但包含多个 元素。

因此,如果元素不是原始元素(在这种情况下,它不是(,它将抛出一个Exception.如果要打印json字符串,则需要调用toString方法,例如:

JsonObject json = new JsonObject();
json.addProperty("test", "value");
String jsonString = json.toString(); 
System.out.println(jsonString);

最新更新