例如,读取build.gradle
中的json文件,并在文件中使用json值作为字符串
{
"type":"xyz",
"properties": {
"foo": {
"type": "pqr"
},
"bar": {
"type": "abc"
},
"baz": {
"type": "lmo"
}
}
}
我需要调用properties.bar.type
和abc
应该在那里被替换。
我需要将这些值转换为string
并在build.gradle
文件中使用
2条答案
按热度按时间w46czmvw1#
在Gradle中,您可以执行任何Groovy代码,并且Groovy已经内置了JSON解析器。
例如,你可以使用一个任务将你的值打印到stdout中:
gwbalxhn2#
与Gradle 8.3一样,Kotlin是官方的DSL语言,如果您使用
buils.gradle.kts
脚本文件,我将扩展答案Kotlin在base language itself中不包含JSON序列化组件。必须包含对
kotlin-serialization-json
的依赖。由于脚本中需要此依赖项,因此必须通过buildscript{}
块包含它。使用Gradle logger打印值的解决方案:
或者你可以在KotlinDSL中混合使用Groovy
JsonSlurper
类。而在Kotlin中,你必须期待JSON中的节点类型。