JavaScriptforJava的替代插件,为用户指定掩码提供了一种方法

JavaScriptforJava的替代插件,为用户指定掩码提供了一种方法,java,Java,我正在寻找一种可以在Java虚拟机上运行的脚本语言,它可以作为一种简单的脚本语言,用户可以使用它来指定如何从音乐元数据构造文件名。请参阅我之前的相关文章,其中推荐了Javascript,我使用它,它可以工作: i、 e如果我有一个包含以下元数据的文件: albumartist=U2 album=Boy trackno=02 title=Twilight 并应用此javascript掩码: (albumartist.length>0 ? albumartist +'-' :(artist

我正在寻找一种可以在Java虚拟机上运行的脚本语言,它可以作为一种简单的脚本语言,用户可以使用它来指定如何从音乐元数据构造文件名。请参阅我之前的相关文章,其中推荐了Javascript,我使用它,它可以工作:

i、 e如果我有一个包含以下元数据的文件:

albumartist=U2
album=Boy
trackno=02
title=Twilight
并应用此javascript掩码:

(albumartist.length>0  ? albumartist +'-' :(artist.length>0 ? artist + '-' : ' ')) + (album.length>0 ? album + '-' :'') + (trackno.length>0 ? trackno + '-' :'')  + title
它将输出

U2-男孩-02-暮光之城

这很好

但问题是Javascript语法对于普通用户来说太难了

有谁能推荐一种替代的脚本语言I Can插件,它给了我simailar功能,但语法更简单。例如,如果我可以使用这种语法,那就太好了

if(albumartist,albumartist-)else if(artist,artist-)(album,album-)(trackno,trackno)title

并得到相同的结果,而不是使用脚本语言,我建议您考虑使用模板语言,如


无论您选择哪种路径,都要注意接受用户提供的输入并执行它所带来的安全隐患。

也许使用JSON将是解决问题的好方法。在您给出的示例中,JSON如下所示:

{
  "albumartist": "U2", 
  "album": "Boy", 
  "trackno": 2, 
  "title": "Twilight"     
}
有许多JSON到Java解析器可用。我使用谷歌的GSON-


有关JSON的其他解析器和一般信息,请转到

Hi,我想您误解了我希望用户输入可应用于某些元数据的掩码的问题,JSON对此没有帮助对不起,您是对的。我没有仔细阅读这个问题。不幸的是,除了编写您自己的简单脚本语言解析器之外,我没有其他建议,这其实并不难。我希望解析器理解if/else之类的结构,并具有substring和uppercase之类的函数。在我看来,这太难了。事实上,在我开始使用Javascript之前,我确实有自己的解析器,我不喜欢重新发明这个轮子,所以我想我必须坚持使用Javascript,除非出现其他问题