Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在play framework中从配置文件中读取对象列表_Java_Playframework 2.0_Playframework 2.1 - Fatal编程技术网

Java 如何在play framework中从配置文件中读取对象列表

Java 如何在play framework中从配置文件中读取对象列表,java,playframework-2.0,playframework-2.1,Java,Playframework 2.0,Playframework 2.1,如何从play framework中的配置文件中读取用户列表? 我试过这样做: users=[{uid:123,pwd:xyz},{uid:321,pwd:abc}] 从play应用程序 List<Object> uids = Play.application().configuration().getList("users"); 在这一点上,我不知道如何优雅地获得uid的值,我可以做一些简单的工作,比如省略第一个和最后一个括号,解析前后的等号,但这太难看了!有什么想法吗?(应

如何从play framework中的配置文件中读取用户列表? 我试过这样做:

users=[{uid:123,pwd:xyz},{uid:321,pwd:abc}]
从play应用程序

 List<Object> uids = Play.application().configuration().getList("users");
在这一点上,我不知道如何优雅地获得uid的值,我可以做一些简单的工作,比如省略第一个和最后一个括号,解析前后的等号,但这太难看了!有什么想法吗?(应用程序是用java编写的)

谢谢

uid的声音列表对我来说如下:

然后,您可以通过以下方式获得此列表:

List<Object> uids = Play.application().configuration().getList("users");
List uids=Play.application().configuration().getList(“用户”);
然后用这个做你想做的:

for (Iterator<Object> iterator = uids.iterator(); iterator.hasNext();) {        
    Object object = (Object) iterator.next();
    System.out.println(object);
}
for(Iterator Iterator=uids.Iterator();Iterator.hasNext();){
Object Object=(Object)迭代器.next();
System.out.println(对象);
}
这就是你要找的吗?
顺便说一句,您可以阅读有关Play Framework配置选项的更多信息:

因为我最近遇到了同样的问题,但这个问题仍然没有答案, 以下是我的建议:

List<User> users = getConfig().getConfigList("users").stream().map(
            config -> new User(config.getString("uid"), config.getBoolean("pwd"))
    ).collect(Collectors.toList());
List users=getConfig().getConfigList(“用户”).stream().map(
config->新用户(config.getString(“uid”)、config.getBoolean(“pwd”))
).collect(Collectors.toList());

据我所知,Java中没有元组或任何东西,您需要使用对象或包含两个元素的列表。我决定在这里寻找一个对象,你也可以返回一个列表

避免不推荐的
getConfigList
方法的Scala实现将依赖于检索
Seq[Configuration]
,如下所示:

  case class UserConfig(uid: Int, pwd: String)
  val userConfigs: Seq[UserConfig] = configuration.get[Seq[Configuration]]("users").map { userConfig =>
    UserConfig(userConfig.get[Int]("uid"), userConfig.get[String]("pwd"))
  }

不,这是一个简化的例子,我需要传递更多关于每个用户的信息,想象一下我需要传递uid和密码!文档没有解释如何从配置文件中读取json对象在
configuration.get
configuration
的值是多少?我是通过依赖项注入获得的。
List<User> users = getConfig().getConfigList("users").stream().map(
            config -> new User(config.getString("uid"), config.getBoolean("pwd"))
    ).collect(Collectors.toList());
  case class UserConfig(uid: Int, pwd: String)
  val userConfigs: Seq[UserConfig] = configuration.get[Seq[Configuration]]("users").map { userConfig =>
    UserConfig(userConfig.get[Int]("uid"), userConfig.get[String]("pwd"))
  }