我的ajax传递了一个看起来像这样的json数组:
{"formData":[{"cusID":"2"},{"empID":"1"}],"invoice":578416969}
我正在尝试使用javax.json
库获取数据。
JSONObject jsonObj = new JSONObject(jasonString);
我能够获取invoice
:
Integer invoiceNum = (Integer) jsonObj.get("invoice");
但是,通过执行以下操作,我无法获取cusID
和empID
的值:
Integer cusId = Integer.parseInt((String) jsonObj.get("cusID"));
Integer empId = Integer.parseInt((String) jsonObj.get("empID"));
错误消息:org.json.JSONException:找不到JSONObject [" cusID"]。
我做错了什么?我愿意接受建议,如果您有更好的方法来处理这个json
数据,我愿意使用它。
答案 0 :(得分:1)
cusID
实际上是数组formData
中第一个对象的属性:
jsonObj.getJsonArray("formData").getJsonObject(0).get("cusID");
应该这样做。
答案 1 :(得分:0)
首先你需要将formData作为一个数组,然后获取第一个元素并获取custId,然后获取第二个元素并获得empID。
答案 2 :(得分:0)
您可以使用Gson()库。 (com.google.gson.Gson) 它让你变得简单。
JsonArray formData = jsonElement.getAsJsonObject().get("formData").getAsJsonArray();
Integer cusId = formData.get(0).getAsJsonObject().get("cusID").getAsInt();
Integer empId = formData.get(1).getAsJsonObject().get("empID").getAsInt();