java - 用 Java 解析稍微复杂一点的 JSON

标签 java android json

我有一个需要解析的 JSON:

enter image description here

我用Java工作,我知道如何解析基本的东西,但我不知道如何像这样处理JSON。每个monumentidoteviracidoba中可能有多个对象。

如果没有“oteviraci doba”,我会像这样解析我的 JSON:

Iterator keys = response.keys();
                while (keys.hasNext()) {
                    int cislo = 0;
                    Object key = keys.next();
                    JSONObject value = response.getJSONObject((String) key);
                    String monumentnumber = value.getString("monumentid");
                    String monumentname = value.getString("name");
                    String monumentregion = value.getString("region");
                    String monumentregion2 = value.getString("okres");
                    String monumenttown = value.getString("obec");
                    String web = value.getString("web");  
                    String monumentdescription = value.getString("content").replaceAll(" ", " ").replaceAll("Dostupnost", " Dostupnost").replaceAll("postižené:", "postižené: ");
                    CharSequence descriptionfixed = removeHtmlFrom(monumentdescription);
                    String description = descriptionfixed.toString();

                    JSONArray arr = value.getJSONArray("oteviracidoba");
                    for (int i = 0; i < arr.length(); i++)
                    {
                        Object shop = arr.getJSONObject(0);
                    }

                    mList.add(new Item(monumentnumber, monumentname, monumentregion, monumentregion2, monumenttown, description, web));
                }

知道如何使用这个新的 JSON 数组执行相同的操作,以便我可以在其中添加对象作为我的 Item 的参数吗?

感谢您的帮助!

最佳答案

JSONArray arr = value.getJSONArray("oteviracidoba");
Object[] shops = new Object[arr.length];
for (int i = 0; i < arr.length(); i++) {
    shops[i] = arr.getJSONObject(i);
}
//if item has array of objects in its constructor then pass it there.
mList.add(new Item(monumentnumber, monumentname, monumentregion, monumentregion2, monumenttown, description, web, shops));

关于java - 用 Java 解析稍微复杂一点的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58147058/

相关文章:

json - 将接口(interface)传递给函数

javascript - 使用自定义字符串更新 Firebase

java - 如何使用struts 1在jsp的对象标记中设置上下文的值

java - 同时为整体和微服务设计java项目

java - 游戏无法正确重置

java - 没有注册类 'com.sun.proxy.$Proxy33' - GAE 端点上的 BadRequest

shell - 终端 : CURL | walk to JsonPath | prettyprint JSON

java - eclipse RCP : How and when to correctly unsubscribe a Composite from EventBroker?

android - 将 Parcelable 与循环引用一起使用

java - 使用 Google Analytics 跟踪 fragment