gpt4 book ai didi

java - 查询字符串中扁平 JSON 对象的 Struts2 类型转换

转载 作者:行者123 更新时间:2023-12-04 05:37:33 25 4
gpt4 key购买 nike

编辑:更改了问题标题和内容。阅读后JSON plugin guide我意识到插件可能需要一个 JSON 字符串而不是这个查询映射,在这种情况下,我通常会使用 GSON。我想问题变成了:Struts2 如何处理这样的查询字符串的类型转换:sort[0][field]=status&sort[0][dir]=asc
我正在使用 Kendo UI 网格与我的 Struts2 后端进行交互。发送到服务器的 AJAX 请求遵循以下格式(GET 查询字符串):

take=5&skip=0&page=1&pageSize=5&sort%5B0%5D%5Bfield%5D=status&sort%5B0%5D%5Bdir%5D=asc

或(非转义):
take=5&skip=0&page=1&pageSize=5&sort[0][field]=status&sort[0][dir]=asc

基本上,Kendo UI 网格正在向服务器发送一个扁平的 JSON 对象。所以我创建了一个像这样的排序模型对象来获取输入:
public class SortModel {
private String field;
private String dir;
}

并将其作为要填充的变量包含在我的 Struts2 操作中:
private SortModel[] sort;

但是,当 AJAX 请求进来时,Struts2 永远不会填充它。我也尝试添加 JSON 拦截器,但我想我误解了它的反序列化过程,如编辑中所述。

无论如何,是否有人设法使用上述查询字符串或类似字符串进行 Struts2 类型转换: sort[0][field]=status&sort[0][dir]=asc ?

最佳答案

sort[0][field]=status&sort[0][dir]=asc



以上不是正确的 JSON,字符串应该被引用。完成后,以下将起作用。

在这种情况下,表单中的字段(或 json 参数) name[i]['s']它的值为 String ,其中 i 是整数, s 是任何字符串,将支持:
private List<Map<String, String>> name = new ArrayList<Map<String, String>>();

//getter AND setter required

PS:使用 Struts2,您可以索引到列表列表中......没有问题。

关于java - 查询字符串中扁平 JSON 对象的 Struts2 类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11732298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com