繁体   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