1
我的JSON字符串是:使用GSON解析從Ajax請求一個JSON陣列
[{"name":"51","value":"0"},{"name":"52","value":"0"},{"name":"53","value":"5"},{"name":"54","value":"1"},{"name":"106","value":"0"},{"name":"107","value":"0"},{"name":"108","value":"3"}]
我試圖做的事:
Gson gson = new Gson();
class Wrapper{
String name;
String value;
}
Wrapper[] arr = gson.fromJson(request.getParameter("data"), Wrapper[].class);
然後:
for (Wrapper arr1 : arr) {
if(Long.parseLong(arr1.value)!=0){
listeProduits.add(ServiceMetier.getProduitById(Long.parseLong(arr1.name)));
listeQuantites.add(Long.parseLong(arr1.value));
}
}
但我總是得到:
May 08, 2017 11:32:06 AM org.apache.catalina.core.StandardWrapperValve
invoke
SEVERE: Servlet.service() for servlet [ActionServlet] in context with path
[/Gustatif_Web] threw exception
java.lang.NullPointerException
空指針在arr1上。 我在做我的JSON解析錯誤?
編輯: 一個問題是在方法內部有Wrapper類,另一個問題在另一個項目的依賴關係中更深。
你試過調試嗎?調試有幫助。 – f1sh
調試時,我看到變量arr是一個由7個元素組成的數組,但變量arr [1]爲空 – dannemp
[將匿名Java對象類型轉換爲使用GSon的JSON]的副本(http://stackoverflow.com/questions/26791752/convert-anonymous-java-object-types-to-json-using-gson)。只需將您當前所用方法的'Wrapper'類移出**即可。 –