[英]Strip out quotes from integer in JSON Builder
我需要運行下面的 groovy 腳本來構建 JSON 模板。 我遇到的問題是模板中的整數用引號括起來。 從變量中去除引號會將其視為字符串。
cat port.txt
1001
這是我的 JSON 構建器腳本
def test = new groovy.json.JsonBuilder()
test {
ports new File('ports.txt').readLines()*.trim().collect { p ->
[name: "$p-tcp", protocol: "TCP", port: "$p", targetPort: "$p"]
}
}
println test.toPrettyString()
當我運行它時,它會吐出以下內容:
{
"ports": [
{
"name": "1001-tcp",
"protocol": "TCP",
"port": "1001",
"targetPort": "1001"
}
]
}
但是我希望它像這樣去掉端口和目標端口的引號
{
"ports": [
{
"name": "1001-tcp",
"protocol": "TCP",
"port": 1001,
"targetPort": 1001
}
]
}
非常感謝有關如何完成此操作的任何線索。
如果您希望ports.txt
文件始終只包含整數,那么您可以在收集之前將讀取的行轉換為整數。 甚至沒有修剪琴弦。 另外,請注意在port:
刪除了p
周圍的引號port:
ant targetPort:
def test = new JsonBuilder()
test {
ports new File('ports.txt').readLines()*.toInteger().collect { p ->
[name: "$p-tcp", protocol: "TCP", port: p, targetPort: p]
}
}
println test.toPrettyString()
輸出:
{
"ports": [
{
"name": "1001-tcp",
"protocol": "TCP",
"port": 1001,
"targetPort": 1001
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.