java - 我没有在 java 中获取 jsonArray?

标签 java json

我正在尝试从 java 中的属性文件中获取 json 数据。

邮件服务器属性

{ 
   "Servers":
   [ 
      { 
         "Name":"Server1",
         "UserName":"abcde@yahoo.in",
         "Password":"something",
         "Port":"993",
         "FolderName":"Server1"
      },
      { 
         "Name":"Server2",
         "UserName":"fghijk@gmail.co",
         "Password":"something",
         "Port":"993",
         "FolderName":"Server2"
      }
   ]
}

当我尝试获取服务器数组时,它显示 The method getJSONArray(String) is undefined for the type JSONObject。如何解决这个问题? 这是我的 Java 代码:-

public void configure()
    {
        JSONParser parser = new JSONParser();
        try
        {
            String propertyFileName = "emailServer.properties";
            InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propertyFileName);

            JSONObject jsonObject = (JSONObject) parser.parse(new InputStreamReader(inputStream, "StandardCharsets.UTF_8"));
            System.out.println(jsonObject);
            JSONArray jadata = jsonObject.getJSONArray("Servers");
            System.out.println(jadata);

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
}

最佳答案

而不是使用
jsonObject.getJSONArray("服务器"), 你可以使用

JSONArray jadata =(JSONArray)jsonObject.get("Servers")

这可能会解决您的问题,或者如果您仍然遇到问题,那么您可以使用像 Gson 这样的 google json 库,您可以在 maven 上找到它并使用下面的行:

yourjsonPojo[] data = gson.fromJson(jsonString, yourjsonPojo[].class);

关于java - 我没有在 java 中获取 jsonArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57986203/

相关文章:

asp.net-mvc - 有没有办法让Ajax.BeginForm返回JSON并自动更新Form

javascript - 如何在 Angular JS 中使用 JSON 动态选择单选按钮

python JSON 到 dict 检查是否是单个或多个 child

java - 如何确保文件写入失败时的文件完整性?

java - 如何让 float View 适合 TextView 数量可变的多行?

Java 8如何使用数组中的id从数组列表中删除项目

json - 如何使用 jq 合并多个文件中的 JSON 记录

java - 嵌套对象的改造解析

java - GroovyClassLoader 加载的类未列出

java - 如何在Android设备上使用Android应用程序通过蓝牙接收5字节数据?