【发布时间】:2023-03-27 15:22:01
【问题描述】:
我正在创建一个可以向服务器发送不同请求的客户端。我的部分目标是没有任何大的依赖关系。
请求可以如下所示:
{
"method": "getUser",
"methodParameters": {
"a": "b",
"c": "d",
"e": "f",
"data": {
"u": "v",
"x": "y"
}
},
"version": "1.3"
}
每种请求方法的数据对象的内容都不同。 我的问题是,动态构建这些 JSON 请求的最佳“Java 方式”是什么?
到目前为止,我只提出了几个我认为不是最好的替代方案..
示例 1
只是一个普通的 POJO,带有一些 set/getter 和一个 SimpleJSON 对象。
public class MethodOne {
JSONObject data = new JSONObject();
private void setX(String x) {
data.put("x", x);
}
private String getX() {
return (String) data.get("x");
}
private void setY(String y) {
data.put("y", y);
}
private String getY() {
return (String) data.get("y");
}
}
示例 2
public class RequestData {
public JSONObject methodOne(String x, String y) {
JSONObject data = new JSONObject();
data.put("x", x);
data.put("y", y);
return data;
}
public JSONObject methodTwo(String a, String b) {
JSONObject data = new JSONObject();
data.put("a", a);
data.put("b", b);
return data;
}
}
那你怎么看。上述任何解决方案是否更适合这项工作,还是我还没有提出第三种解决方案?谢谢。
【问题讨论】: