首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用javax.json解析java中的json字符串

用javax.json解析java中的json字符串
EN

Stack Overflow用户
提问于 2015-10-12 18:48:10
回答 3查看 111关注 0票数 0

我的ajax传递了一个json数组,如下所示:

代码语言:javascript
复制
 {"formData":[{"cusID":"2"},{"empID":"1"}],"invoice":578416969}

我正在尝试使用javax.json库获取数据。

代码语言:javascript
复制
JSONObject jsonObj = new JSONObject(jasonString);

我能够获取invoice的值

代码语言:javascript
复制
Integer invoiceNum = (Integer) jsonObj.get("invoice");

但是,通过执行以下操作,我无法获取cusIDempID的值:

代码语言:javascript
复制
Integer cusId = Integer.parseInt((String) jsonObj.get("cusID"));
Integer empId = Integer.parseInt((String) jsonObj.get("empID"));

错误message:org.json.JSONException: JSONObject"cusID“未找到。

我做错什么了?我愿意接受一些建议,如果您有更好的方法处理这个json数据,我愿意使用它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-12 18:52:16

cusID实际上是数组formData中第一个对象的属性。

代码语言:javascript
复制
jsonObj.getJsonArray("formData").getJsonObject(0).get("cusID");

应该能起作用。

票数 1
EN

Stack Overflow用户

发布于 2015-10-12 18:52:42

首先必须将formData作为数组,然后获取第一个元素和custId,然后获取第二个元素和empID。

票数 0
EN

Stack Overflow用户

发布于 2015-10-14 15:42:41

您可以使用Gson()库。(com.google.gson.Gson)它使你变得简单。

代码语言:javascript
复制
 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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33088164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档