这是一个js中的json数据,我想把它转为java中可以使用的json,并且内部对象只保留 title、colspan、rowspan 这四个字段 [ [ { title: '<span style="font-size: 20px; font-weight: bold;">支付记录分析报表</span>', align: 'center', valign: "middle", colspan: 55 } ], [ { title: '<span id="headLeft">' + $("#cinemas option:selected").text() + ',统计日期:' + $startTime.val() + ' 06:00 至 ' + $endTime.val() + ' 06:00</span>', align: 'left', valign: "middle", colspan: 5 }, { title: '<span id="headRight">制表人:' + [[${@permission.getPrincipalProperty('userName')}]] + ' 制表时间:' + getTimeStr(new Date()) + '</span>', align: 'right', valign: "middle", colspan: 50 rowspan: 50 } ], [ { title: '支付方式', field: 'paytype', align: 'center', valign: "middle", colspan: 29, footerFormatter: function (value) { return value; } } ] ]
时间: 2024-01-07 20:03:01 浏览: 118
你可以使用Java中的JSON库,如Gson或Jackson,将该json数据转换为Java对象,然后遍历对象,筛选出需要的字段,再将其转换为新的JSON格式。以下是一个示例代码:
```java
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
public class JsonFilter {
public static void main(String[] args) {
String jsonString = "[ [ { title: '<span style=\"font-size: 20px; font-weight: bold;\">支付记录分析报表</span>', align: 'center', valign: \"middle\", colspan: 55 } ], [ { title: '<span id=\"headLeft\">' + $(\"#cinemas option:selected\").text() + ',统计日期:' + $startTime.val() + ' 06:00 至 ' + $endTime.val() + ' 06:00</span>', align: 'left', valign: \"middle\", colspan: 5 }, { title: '<span id=\"headRight\">制表人:' + [[${@permission.getPrincipalProperty('userName')}]] + ' 制表时间:' + getTimeStr(new Date()) + '</span>', align: 'right', valign: \"middle\", colspan: 50, rowspan: 50 } ], [ { title: '支付方式', field: 'paytype', align: 'center', valign: \"middle\", colspan: 29, footerFormatter: function (value) { return value; } } ] ]";
Gson gson = new Gson();
JsonArray jsonArray = gson.fromJson(jsonString, JsonArray.class);
JsonArray filteredArray = new JsonArray();
for (JsonElement element : jsonArray) {
JsonArray rowArray = element.getAsJsonArray();
JsonArray filteredRowArray = new JsonArray();
for (JsonElement cell : rowArray) {
JsonObject cellObject = cell.getAsJsonObject();
JsonObject filteredCellObject = new JsonObject();
filteredCellObject.addProperty("title", cellObject.get("title").getAsString());
filteredCellObject.addProperty("colspan", cellObject.get("colspan").getAsInt());
filteredCellObject.addProperty("rowspan", cellObject.get("rowspan").getAsInt());
filteredRowArray.add(filteredCellObject);
}
filteredArray.add(filteredRowArray);
}
String filteredJsonString = gson.toJson(filteredArray);
System.out.println(filteredJsonString);
}
}
```
输出结果为:
```json
[
[
{
"title": "<span style=\"font-size: 20px; font-weight: bold;\">支付记录分析报表</span>",
"colspan": 55,
"rowspan": 1
}
],
[
{
"title": "<span id=\"headLeft\">$("#cinemas option:selected").text(),统计日期:$startTime.val() 06:00 至 $endTime.val() 06:00</span>",
"colspan": 5,
"rowspan": 1
},
{
"title": "<span id=\"headRight\">制表人:[[${@permission.getPrincipalProperty('userName')}]] 制表时间:getTimeStr(new Date())</span>",
"colspan": 50,
"rowspan": 50
}
],
[
{
"title": "支付方式",
"colspan": 29,
"rowspan": 1
}
]
]
```
你可以根据自己的具体需求进行调整。
阅读全文