【发布时间】:2017-09-27 09:34:49
【问题描述】:
我的插件代号一的代码有一些问题 它告诉我有一个空指针异常,但相同的代码在其他一些计算机上工作,所以我真的不知道问题到底出在哪里
Form hi = new Form("Hi World");
SpanLabel sp = new SpanLabel();
hi.add(sp);
hi.show();
ConnectionRequest con = new ConnectionRequest();
con.setUrl("http://localhost/pidev2017/select.php");
con.addResponseListener(new ActionListener<NetworkEvent>() {
@Override
public void actionPerformed(NetworkEvent evt) {
System.out.println(getListEtudiant(new String(con.getResponseData())));
sp.setText(getListEtudiant(new String(con.getResponseData())) + "");
hi.refreshTheme();
}
});
NetworkManager.getInstance().addToQueue(con);
}
public ArrayList<Etudiant> getListEtudiant(String json) {
ArrayList<Etudiant> listEtudiants = new ArrayList<>();
try {
JSONParser j = new JSONParser();
Map<String, Object> etudiants = j.parseJSON(new CharArrayReader(json.toCharArray()));
System.out.println();
List<Map<String, Object>> list = (List<Map<String, Object>>) etudiants.get("etudiant");
for (Map<String, Object> obj : list) {
Etudiant e = new Etudiant();
e.setAge(Integer.parseInt(obj.get("age").toString()));
e.setCin(obj.get("cin").toString());
e.setNom(obj.get("nom").toString());
listEtudiants.add(e);
}
} catch (IOException ex) {
}
return listEtudiants;
}
这是我得到的错误
java.lang.NullPointerException [EDT] 0:0:0,2 - 在第 2 行解析 JSON 令牌时,键值预期为空:2 列:72 缓冲区:e1elxde-exe-dlde1ell [EDT] 0:0:0,2 - 在行解析 JSON 令牌时,键值预期为空:2 列:85 缓冲区:e1elxde-exe-dlde1ell0elldd [EDT] 0:0:0,2 - 在第 3 列解析 JSON 令牌时,键值预期为真:2 缓冲区:e1elxde-exe-dlde1ell0elldd1 [EDT] 0:0:0,2 - 在第 3 列解析 JSON 令牌时,键值预期为真:3 缓冲区:e1elxde-exe-dlde1ell0elldd1 [EDT] 0:0:0,2 - 在行解析 JSON 令牌时,键值预期为空:3 列:7 缓冲区:e1elxde-exe-dlde1ell0elldd1l [EDT] 0:0:0,2 - 在第 3 行解析 JSON 令牌时,键值应为真:第 3 列:10 缓冲区:e1elxde-exe-dlde1ell0elldd1lef [EDT] 0:0:0,2 - 在第 3 列解析 JSON 令牌时,键值预期为空:34 缓冲区:e1elxde-exe-dlde1ell0elldd1leflf57900l
at com.mycompany.myapp.MyApplication.getListEtudiant(MyApplication.java:80)
at com.mycompany.myapp.MyApplication$1.actionPerformed(MyApplication.java:59)
at com.mycompany.myapp.MyApplication$1.actionPerformed(MyApplication.java:55)
at com.codename1.ui.util.EventDispatcher.fireActionSync(EventDispatcher.java:459)
at com.codename1.ui.util.EventDispatcher.access$100(EventDispatcher.java:45)
at com.codename1.ui.util.EventDispatcher$CallbackClass.run(EventDispatcher.java:95)
at com.codename1.ui.Display.processSerialCalls(Display.java:1152)
at com.codename1.ui.Display.edtLoopImpl(Display.java:1096)
at com.codename1.ui.Display.mainEDTLoop(Display.java:997)
at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
【问题讨论】:
标签: php json codenameone