簡體   English   中英

使用javax.json在Java中解析json字符串

[英]Paring json string in java with javax.json

我的ajax傳遞了一個看起來像這樣的json數組:

 {"formData":[{"cusID":"2"},{"empID":"1"}],"invoice":578416969}

我正在嘗試使用javax.json庫獲取數據。

JSONObject jsonObj = new JSONObject(jasonString);

我可以獲取invoice的價值:

Integer invoiceNum = (Integer) jsonObj.get("invoice");

但是我無法通過執行以下操作來獲取cusIDempID的值:

Integer cusId = Integer.parseInt((String) jsonObj.get("cusID"));
Integer empId = Integer.parseInt((String) jsonObj.get("empID"));

錯誤消息:org.json.JSONException:找不到JSONObject [“ cusID”]。

我做錯了什么? 我願意接受建議,如果您有更好的方式處理此json數據,我願意使用它。

cusID實際上是數組formData第一個對象的屬性:

jsonObj.getJsonArray("formData").getJsonObject(0).get("cusID");

應該可以。

首先,您必須獲取formData作為數組,之后獲取第一個元素並獲取custId,然后獲取第二個元素並獲取empID。

您可以使用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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM