这是 JSON 字符串 1
{"title":["1","2"], "amount":["1","2"]}
这是 JSON 字符串 2
{"title":"", "amount":""}
字符串 1 是在我在表单中输入值时创建的,而字符串 2 是在我不输入时创建的,我想知道字符串是格式 1 的标题是数组 ["1", "2"] 还是格式 2在我解析它之前,标题只是 servlet 中服务器端的字符串“”。有什么办法吗?
这是我之前的问题, 如何在 servlet 中使用 GSON 解析这个 JSON 字符串
这已解决,但正如您所见,我有类 Data,它具有 ArrayList 类型的实例变量,所以当我用这一行解析它时
Data data = gson.fromJson(param, Data.class);
它抛出异常
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 24
因为正如我声明的 ArrayList,它只期望 json 中的数组来解析它,没有任何异常......但是当我不在我的表单中输入值时,它不会创建 json 字符串为
{"title":[], "amount":[]}
而是像这样创建
{"title":'', "amount":''}
以字符串为值,导致解析抛出异常