Java org.json.simple.JsonArray无法获取JSONObject
你好,先谢谢你。我一直在开发REST Web服务,到目前为止效果不错。我决定使用json.simple库来处理提交给web服务的json函数,但我真的很难利用传递到方法中的JsonArray,如下所示。该数组由一个或多个JSON对象组成,这些对象在另一个类中拼凑在一起并传递到此方法中。在多次尝试以前的json.simple版本之后,我使用了json.simple 2.1.2,并希望从数组中获取每个JsonObjectJava org.json.simple.JsonArray无法获取JSONObject,java,arrays,json,Java,Arrays,Json,你好,先谢谢你。我一直在开发REST Web服务,到目前为止效果不错。我决定使用json.simple库来处理提交给web服务的json函数,但我真的很难利用传递到方法中的JsonArray,如下所示。该数组由一个或多个JSON对象组成,这些对象在另一个类中拼凑在一起并传递到此方法中。在多次尝试以前的json.simple版本之后,我使用了json.simple 2.1.2,并希望从数组中获取每个JsonObject public createTransactions(JsonArray tra
public createTransactions(JsonArray transArr){
for (int i = 0; i < transArr.size(); i++){
try {
Object obj = transArr.get(i); //Works Fine
//but
JsonObject transJsonObj = (JsonObject)transArr.get(i);
//Doesn't work, the stack trace shows no error but this doesn't
// run (outside the try it stops execution again with the stack
// trace showing no error.)
} catch (Exception e){
e.printStackTrace();
}
System.out.println(transArr.toString());
System.out.println(transArr.toJson());
//both work output below*
}
}
publicCreateTransactions(JsonArray transArr){
对于(int i=0;i
输出
*[{目录id=1,数量=2,皮卡经度=-1.4578941,皮卡经度=33.45548978},{目录id=2,数量=3,皮卡经度=-1.4578941,皮卡经度=33.45548978},{目录id=1,数量=4,皮卡经度=-1.4578941,皮卡经度=33.45548978}]
[{“目录标识”:1,“数量”:2,“皮卡经度”:-1.4578941,“皮卡经度”:33.45548978},{“目录标识”:2,“数量”:3,“皮卡经度”:-1.4578941,“皮卡经度”:33.45548978},{“目录标识”:1,“数量”:4,“皮卡经度”:-1.4578941,“皮卡经度”:33.45548978}]
无论我做什么,代码都会在这一点上停止。我已经在这上面呆了好几个晚上了。在这种方法中,我可以手动构建JsonArray,它工作得很好,可以循环使用它并分解每个JsonObject。当我用toString或toJson输出手动构建的JsonArray时,输出与上面的相同,尽管顺序不同。我已经用尽了在stackOverflow和google上可以找到的所有示例,因此非常感谢您的帮助。您可以使用迭代器获取json对象
Iterator i = transArr.iterator();
JSONObject slide = i.next();
//do whatever you need
这对我来说很好。可能是传递到方法中的JsonArray的构造有问题。我的测试代码:
JsonArray JsonArray=newjsonarray();JsonObject obj=新的JsonObject();obj.put(“测试”、“测试值”);对象put(“testI”,新整数(1));JsonObject obj_1=新的JsonObject();obj_1.put(“测试”、“测试值”);obj_1.put(“testI”,新整数(2));jsonArray.add(obj);jsonArray.add(obj_1);createTransactions(jsonArray)代码>谢谢,我的想法可能与我可以在方法中构建一个相同。谢谢你,我也来试试。