提问人:mr.Gondar 提问时间:10/14/2023 更新时间:10/14/2023 访问量:58
如何使用干净的代码在 Java 中生成 JSON
How to generate JSON in Java with clean code
问:
我有这样的代码:
Map<String, Object> tempParam = new HashMap<>();
tempParam.put("custid", "123");
json = gson.toJson(tempParam);
String keyParams = "schema;tablename;where;clause";
String valueParams = "dbtrial;mastercustomer;"+json+";sort=id,date_&limit=10";
String res = genJSON(keyParams, valueParams);
function genJSON(String keyParams, String valueParams){
String[] key = keyParams.split(";");
String[] value = valueParams.split(";");
JSONObject objectMessage = new JSONObject();
for(int i = 0 ; i < key.length ; i++){
objectMessage.put(key[i], value[i]);
}
return objectMessage.toString();
}
我关心的是用分号分隔符书写的方式,然后拆分, 有没有另一种更简单或更有效的方法?我们能让它更有活力吗? 因为“genJSON”函数将全局用于各种需求。 至少我想要干净的代码。
我尝试过使用这样的数组,但它似乎没有太大区别。
String[] keyParams = ["schema", "tablename", "where", "clause"];
String[] valueParams = {"dbtrial", "mastercustomer", json, "sort=id,date_&limit=10"};
function genJSON(String[] keyParams, String[] valueParams){
JSONObject objectMessage = new JSONObject();
for(int i = 0 ; i < keyParams.length ; i++){
objectMessage.put(keyParams[i], valueParams[i]);
}
return objectMessage.toString();
}
您还有其他想法或建议吗?
我用的是java 7
答:
-1赞
fasthosting
10/14/2023
#1
您尝试将数组用于 and 是使代码更简洁、更易于维护的好主意。但是,在 Java 中初始化数组的方式存在一个小问题。下面是更正后的代码:keyParams
valueParams
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
JSONObject tempParam = new JSONObject();
tempParam.put("custid", "123");
String json = tempParam.toString();
String[] keyParams = {"schema", "tablename", "where", "clause"};
String[] valueParams = {"dbtrial", "mastercustomer", json, "sort=id,date_&limit=10"};
String res = genJSON(keyParams, valueParams);
System.out.println(res);
}
public static String genJSON(String[] keyParams, String[] valueParams) {
JSONObject objectMessage = new JSONObject();
for (int i = 0; i < keyParams.length; i++) {
objectMessage.put(keyParams[i], valueParams[i]);
}
return objectMessage.toString();
}
}
此代码将按预期工作,并且它是一种更简洁的方法来管理 和 .使用数组的主要优点是,它允许更好地组织和可读性代码,尤其是在参数数量增加的情况下。keyParams
valueParams
评论
json
gson
JSONObject
String result = """ { "schema": "dbtrial", "tablename" : "mastercustomer", "where" : """ + json + """, "clause": "sort=id,date_&limit=10" } """;