这里我主要是记录在Scala中使用gson.JsonParser时碰到的一些问题,假设我已经创建了一个JsonParser类,即val parser = new JsonParser()
- parser.parse(str)
如果str是"",那么返回的是JsonNull;如果str是null,那么程序直接报错。所以使用之前需要对传入的str进行筛选处理,保证str是有非空值的。 - get(str),这里的str是需要解析出来的字段
首先需要注意一点,get()方法是JsonObject类的方法,所以需要将之前parse得到的JsonElement进行转换JsonObject,即JsonElement.getAsJsonObject。
其次,如果传入的str没有出现在需要解析的Json格式的String中,那么就会返回null(注意,不是JsonNull)。因此,每次使用get()得到解析结果后,如果还要用到该结果,就需要先判断结果是否为null,不然后面就很容易导致java.lang.NullPointerException。
网友评论