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

如何在snakeyaml中使用破折号解析字段名称?

曹乐意
2023-03-14
问题内容

我有yaml文件的片段:

field-name: my/data

但我无法使用方法名称创建pojo setField-name

有什么方法可以解析此类Yaml文件?


问题答案:

您可以传递自定义PropertyUtils来处理此类情况

Constructor c = new Constructor(MyClass.class);
c.setPropertyUtils(new PropertyUtils() {
    @Override
    public Property getProperty(Class<? extends Object> type, String name) throws IntrospectionException {
      if ( name.indexOf('-') > -1 ) {
        name = toCameCase(name);
      }
      return super.getProperty(type, name);
    }
  });
Yaml yaml = new Yaml(c);
MyClass obj = (MyClass) yaml.load(input);


 类似资料:
  • 问题内容: 我要备份数据库时出现错误 有什么办法可以用表名(temp_01-01-000001)解决这个问题。 问题答案: 您可以编辑文件/system/database/drivers/mysql/mysql_utility.php的第132行 从: 至:

  • 问题内容: 如果json字段包含冒号(:),我们如何解析?像这样: 实际上,我想知道如何使用诸如restsharp之类的库来进行映射? 问题答案: 使用Json.Net 要么

  • 问题内容: 我有一个JSON数据文件(如下所示),我正在尝试使用jq实用程序查找字段值。 除键名中包含短划线字符的字段外,其他方法都可以正常工作。 如何获取(至少使用)下元素的“ field-2 ”,“ field-three 3 ”或“ field-three.url ”值? 我尝试了以下操作来获取值,但是对于键名中包含短划线的字段,它给了我以下错误。我试图反斜杠字符,但这也无济于事。 命令:

  • 问题内容: 如何在shell中重复n次字符?我已经阅读并尝试过此操作,但这不适用于。它引发错误。以下是我使用的确切命令: 原始发布行: 我还尝试通过转义来转义,但在这种情况下,它会重复n次。 问题答案: 这将引发错误: 在以下情况下可以正常工作: 对于其他外壳,请尝试: 问题是期望启动一个选项。在这种情况下,在Unix / POSIX实用程序中很常见,这表明不要有更多选择。

  • 问题内容: 我试图使我的git仓库pip可安装。为此,我正在重组存储库以遵循正确的约定。通过查看其他存储库,我的理解是,我应该将所有源代码放在与存储库名称同名的程序包中。例如,如果调用了我的存储库,则源代码将全部放入一个也称为的包中。 我的存储库中带有连字符以提高可读性:例如。因此,如果我想为其包装一个具有相同名称的包装,则其中也将带有连字符。在本教程中,它对python软件包名称说“不要使用连字

  • 我试图将像“plex”或“emby”这样的实时代码转换与我的应用程序集成在一起。 我可以服务dash内容到shaka-player或dash.js,但只有在“现场模式”。但我想通过玩家来实现搜索。 我看了一下plex,为了启用这一点,他们创建了自己的mpd文件和持续时间,这样玩家就有了一个完整的搜索栏。 然而,当寻找时,玩家会要求一个段号,如:449。我需要停止ffmpeg并使用偏移量重新启动,但