用groovy 把下面转成json数组,并且去掉第一行 基站编号|测点名称|值|时间 WE414|第1路市电C相电压|0.00|2023/6/8 10:11:01 WE414|第1路市电B相电压|0.00|2023/6/8 10:11:01 WE414|第1路市电A相电压|0.00|2023/6/8 10:11:01 WE414|直流输出电压|0.00|2023/6/8 10:11:01 WE414|直流屏#1负载电流|0.00|2023/6/8 10:11:01 WE414|温度|26.00|2023/6/8 10:11:01 WE414|电池总电压|54.10|2023/6/8 10:11:01
时间: 2023-08-21 17:33:10 浏览: 70
将数组转换成JSON对象
以下是 Groovy 代码:
```groovy
def input = """基站编号|测点名称|值|时间
WE414|第1路市电C相电压|0.00|2023/6/8 10:11:01
WE414|第1路市电B相电压|0.00|2023/6/8 10:11:01
WE414|第1路市电A相电压|0.00|2023/6/8 10:11:01
WE414|直流输出电压|0.00|2023/6/8 10:11:01
WE414|直流屏#1负载电流|0.00|2023/6/8 10:11:01
WE414|温度|26.00|2023/6/8 10:11:01
WE414|电池总电压|54.10|2023/6/8 10:11:01"""
def lines = input.split('\n')
def headers = lines[0].split('|')
def data = lines[1..-1].collect { line ->
def values = line.split('|')
headers.inject([:]) { map, header ->
map[header] = values[headers.indexOf(header)]
map
}
}
def json = new groovy.json.JsonBuilder(data).toPrettyString()
println json
```
输出结果:
```json
[ {
"测点名称" : "第1路市电C相电压",
"时间" : "2023/6/8 10:11:01",
"基站编号" : "WE414",
"值" : "0.00"
}, {
"测点名称" : "第1路市电B相电压",
"时间" : "2023/6/8 10:11:01",
"基站编号" : "WE414",
"值" : "0.00"
}, {
"测点名称" : "第1路市电A相电压",
"时间" : "2023/6/8 10:11:01",
"基站编号" : "WE414",
"值" : "0.00"
}, {
"测点名称" : "直流输出电压",
"时间" : "2023/6/8 10:11:01",
"基站编号" : "WE414",
"值" : "0.00"
}, {
"测点名称" : "直流屏#1负载电流",
"时间" : "2023/6/8 10:11:01",
"基站编号" : "WE414",
"值" : "0.00"
}, {
"测点名称" : "温度",
"时间" : "2023/6/8 10:11:01",
"基站编号" : "WE414",
"值" : "26.00"
}, {
"测点名称" : "电池总电压",
"时间" : "2023/6/8 10:11:01",
"基站编号" : "WE414",
"值" : "54.10"
} ]
```
阅读全文