首页 > 解决方案 > Apache Commons 配置2

问题描述

我正在使用 Apache commons configuration2 来读取和写入 JSON 配置。

当我试图读取一个 JSON 文件时,该文件包含任何只有一个元素的 JSON 数组。

{ 
   "default":{ 
      "recurrence_info":{ 
         "days":[ 
            "SUNDAY"
         ]
      }
   }
}

就像上面的 JSON “default.recurrence_info.days”是一个数组,它只包含一个元素作为“SUNDAY”。

我正在使用下面的代码来获取配置。

 //FileBasedConfigurationBuilder<FileBasedConfiguration>(
         JSONConfiguration.class).configure(new Parameters().hierarchical()
        .setExpressionEngine(engine)
         .setEncoding(CHAR_ENCODING).setThrowExceptionOnMissing(true))
         .setFileName(configFile)).getConfiguration();//

这里的 configFile 是 JSON 文件,它包含上面的 JSON。

当我尝试获取 "default.recurrence_info.days" 的值时,它以字符串形式代替数组。

最后在做了一些调试之后,我的理解是如果任何 JSON 数组只包含一个元素,那么“Apache commons configuration2”会忽略该数组并将元素作为键(字符串)值(字符串)对。

我想把它作为数组。请让我知道我可以做些什么改变来获得它。

标签: javaapache-commons-config

解决方案


推荐阅读