当前位置: 首页 > 面试题库 >

无法在Java中访问getJSONArray

伏星汉
2023-03-14
问题内容

我有这个来自URL的Json:

{
  "type":"FeatureCollection",
  "features":
    [
      {
        "type":"Feature",
        "properties":
          [
            {
              "type":"colliers",
              "thumb":"upload\/estate\/135\/thumb_1. Prologis Park Wroclaw I.jpg",
              "name_pl":"Prologis Park Wroc\u0142aw I",
              "name_en":"Prologis Park Wroc\u0142aw I",
              "completearea":"167 000",
              "completeareaunit":"m2",
              "workingarea":"",
              "workingareaunit":"m2",
              "id_type":"3",
              "id":"135",
              "lon":16.939201369628,
              "lat":51.037378299619,
              "images":["public\/upload\/estate\/135\/1. Prologis Park Wroclaw I.jpg"]
            }
          ],
        "geometry":
          {
            "type":"Point",
            "coordinates":[16.939201369628,51.037378299619]
          },
        "crs":
          {
            "type":"name",
            "properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}
          }
        },

      {
        "type":"Feature",
        "properties":
          [
            {
              "type":"colliers",
              "thumb":"upload\/estate\/136\/thumb_2. Prologis Park Wroclaw III.jpg",
              "name_pl":"Prologis Park Wroc\u0142aw III",
              "name_en":"Prologis Park Wroclaw III",
              "completearea":"129 500",
              "completeareaunit":"m2",
              "workingarea":"",
              "workingareaunit":"m2",
              "id_type":"3",
              "id":"136",
              "lon":16.928386702881,
              "lat":51.105440250407,
              "images":
                [
                  "public\/upload\/estate\/136\/2. Prologis Park Wroclaw III.jpg"
                ]
            }
          ],
        "geometry":
          {
            "type":"Point",
            "coordinates":[16.928386702881,51.105440250407]
          },
        "crs":
          {
            "type":"name",
            "properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}
          }
        },
        .................... more more more...

我需要把手放在列表中的属性上。

所以应该是功能->属性-> name_en(类似对象的列表)

我尝试这样:

JSONParser parser = new JSONParser();
Object obj = parser.parse(Json_str);    
JSONObject jsonObject = (JSONObject) obj;
JSONArray jsonFeaturesArr = new JSONArray(jsonObject.getJSONArray("features"));

为了创建第一个Json Array,但我什至无法做到。我收到错误消息:JSONObject类型的方法getJSONArray(String)未定义

(我对“ getJSONObject”有同样的错误)。一定是缺少的东西,我是Java / android新手。

如果我解决错误,该如何深入Json?

提前感谢帮助。


问题答案:

尝试为:

JSONObject jSONObject = new JSONObject(jsonString);
String str_type=jSONObject.getString("type");

// using JSONArray
JSONArray featuresArr = jSONObject.getJSONArray("features");
  for (int i=0; i<featuresArr.length; i++){
    JSONObject anotherjsonObject = featuresArr.getJSONObject(i);
    //access the fields of that json object
    String str_type_one=anotherjsonObject.getString("type");
   JSONArray featuresArr_properties = anotherjsonObject.getJSONArray("properties");

   JSONObject propertiesjsonObject = featuresArr_properties.getJSONObject(0);
   String str_type=propertiesjsonObject.getString("type");
   String str_type=propertiesjsonObject.getString("thumb");
   String str_type=propertiesjsonObject.getString("name_pl");
   String str_type=propertiesjsonObject.getString("name_en");
 ////parse all items ...........
  }


 类似资料:
  • Magnus@Martin-HP-625~/下载/robomind$cat./robomind.sh java-jar-djava.ext.dirs=lib-dsun.java2d.ddscale=true-dsun.java2d.noddraw=true RoboMind.jar Magnus@martin-HP-625~/downloads/robomind$java-jar-djava.ex

  • 问题内容: 我不明白“无法​​访问的代码”是什么意思? 在我的代码的最后一行中,它表示无法访问的代码。 } 问题答案: 这里的循环: 解析为,因为从未修改过的值。因此,(在您的情况下)之后出现的任何代码均被视为 无法访问 。

  • 我有个大问题。我安装了新的,顺便把我的改为。我还设置了tomcatmanager角色,并在NetBeans的Tomcat选项中设置名称和密码。 如果我现在正在运行我的项目(该项目在之前运行得非常好,但不幸的是在新设置之前删除了我的旧环境),服务器将启动,但该项目没有部署在Tomcat上。 如果我转到正在运行。我可以使用我指定的用户名和密码访问Tomcat,但如果我试图在NetBeans中查看文件夹

  • 我得到以下错误,我不确定问题是什么 1智能感知:“标准::基本团队” 书cpp 我得到了 书H 我甚至不明白错误告诉了我什么

  • 问题内容: 我有服务 即使在控制器中也可访问 有人可以解释一下为什么在angular.foreach中无法访问“ this.list”吗?如何访问“ this.list”? 问题答案: (请参阅http://docs.angularjs.org/api/angular.forEach)函数中的最后一个参数是的上下文。因此,您需要这样的东西:

  • 本文向大家介绍Java中无法访问的语句错误,包括了Java中无法访问的语句错误的使用技巧和注意事项,需要的朋友参考一下 由于多种原因导致无法编译代码时,发生无法访问的代码错误,其中包括:无限循环,无法访问的代码行之前的return语句。 让我们看一个例子- 示例 输出结果 名为Demo的类包含主函数,并定义了一个值,并检查该值并运行空的“ for”循环。如果找到该值,则控件会跳出循环,否则将显示一