我是Java的新手,我正在尝试创建一个带有name
和value
的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);