使用多个 JSONArray 和 JSONObject 迭代 Json 响应

问题描述

{
   "Response":"success","errorText":null,"TotalBooks":null,"privateBookStore":{
      "privateBooks":[
         {
            "Shopid":76354,"Shopname":"xyz","Term":null,"“Strategy":[
               {
                  "Name":"ABC","ID":9
               }
            ],"magaerTYpe":"Single","Freq":"”monthly”","StructureType":{
               "Name":"ABC","ID":9
            },"Currency":[
               "USD","EURO","RUPYEE"
            ]
         }
      ]
   }
}

我尝试过使用 JsonObject 和 JsonArray 但响应的格式是包含多个 JsonArray 和 JsonObject

我尝试使用 HashMap 和 List 但它对我不起作用。 Loop through multiple JsonObject 我也经历过这个。 请建议方法

到目前为止我所拥有的是 -

inputstream in = new bufferedinputstream(urlconnection.getinputstream());
String result = IoUtils.tostring(in utf-8 );
JSONObject  outer = new JSONObject(result);
JSONObject  inner = outer.getJSONObject("privateBookStore");
JSONArray arr = inner.getJSONArray("privateBooks");

也尝试过这个,但没有给我键:值对结构

List<HashMap<String,String>> response = new ArrayList<>();
JSONArray jsonarray = null;
    try {
        jsonarray = new JSONArray(json);
        for(int i=0;i<jsonarray.length();i++) {
            JSONObject jsonObject = jsonarray.getJSONObject(i);
            Iterator<?> iterator = jsonObject.keys();
            HashMap<String,String> map = new HashMap<>();
            while (iterator.hasNext()) {
                Object key = iterator.next();
                Object value = jsonObject.get(key.toString());
                map.put(key.toString(),value.toString());

            }
            response.add(map);
        }
    } catch (JSONException e) {
        e.printstacktrace();
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...