String str = request.getParameter("dat");
我如何遍历我的数组,它看起来像这样:
[{"orange":["1.00","5"]},{"apple":["2.00","5"]}]
我想要第1项和第2项......
on first loop
setName(get(i))//orange
setValueget(i))//1.00
setStock(get(i))//5
因为我希望它传递给Type Fruit的另一个对象类(java类)。
类Fruit包含
setName(arg);
setValue(arg);
setstock(arg);
有人可以将我重定向到解决方案吗?
答案 0 :(得分:1)
This是我使用的jar文件。
JSONArray array = new JSONArray(jsonString);
for(int i=0;i<array.length();i++){
JSONObject object = array.getJSONObject(i);
Iterator<String> keys = object.keys();
String fruit = keys.next(); //Here you can get "orange" or "apple"
System.out.println("The current fruit is "+fruit);
setName(name);//setName here
JSONArray fruitArray = object.getJSONArray(fruit); // I assume that you only have one json array in Each object.
for(int j=0;j<fruitArray.length();j++){
String numberString = fruitArray.getString(j);
if(j==0){
setValueget(numberString);// setValueget here
}else{
setStock(numberString);// setStock here
}
System.out.println(numberString);
}
}
使用你的json字符串,我得到了结果:
The current fruit is orange
1.00
5
The current fruit is apple
2.00
5
答案 1 :(得分:1)
Hi Niang尝试使用此代码从json获取数据,然后在运行之前下载此JSONArray类的jar文件
http://www.java2s.com/Code/Jar/j/Downloadjsonlibjar.htm
try{
String str = request.getParameter("dat");
JSONArray array = JSONArray.fromObject(str);
for(int i=0;i<array.size();i++){
JSONObject object = array.getJSONObject(i);
Iterator<String> keys = object.keys();
JSONArray fruitArray = object.getJSONArray(keys.next());
String numberString=null;
for(int j=0;j<fruitArray.size();j++){
numberString= fruitArray.get(j).toString();
out.println(numberString);
}
}
}catch(JSONException jex){
jex.printStackTrace();
}catch(Exception ex){
ex.printStackTrace();
}