这是我现在的
[{
"year": "2015",
"org_name": "MOOE",
"suborg_name": "Forms Expenses",
"amt": "2",
"org_id": "4",
"suborg_id": "24"
}, {
"year": "2016",
"org_name": "MOOE",
"suborg_name": "Forms Expenses",
"amt": "1",
"org_id": "4",
"suborg_id": "24"
}]
我想要这种格式
[{
"org_name": "MOOE",
"suborg_name": "Forms Expenses",
"suborg_id": "24",
"org_id": "4",
"Year": [{
"year": "2015",
"amt": "2"
}, {
"year": "2016",
"amt": "1"
}]
}]
以下是我获取当前值的方法:
List<String> list = new ArrayList<String>();
while (rs2.next()) {
JSONObject json = new JSONObject();
if (!rs2.getString("suborg_id").isEmpty()) {
json.put("org_name", org_name);
json.put("year", year);
json.put("suborg_name", suborg_name);
json.put("amt", amt);
json.put("org_id", org_id);
json.put("suborg_id", suborg_id);
}
finaljson2.put(counter2, json.toString());
counter2++;
list.add("" + json + "");
}
//out.println("[" + finaljson2.toString() + "]");
out.println(list);
我放入 if 语句,希望它能够将相同的 suborg_id
分组
更新
在推送到 json 之前尝试将年份和金额添加到新数组
List<String> list = new ArrayList<String>();
while (rs2.next()) {
JSONObject json = new JSONObject();
JSONObject json1 = new JSONObject();
if (!rs2.getString("suborg_id").isEmpty()) {
json.put("year", year);
json.put("amt", amt);
json.put("org_name", org_name);
json.put("suborg_name", suborg_name);
json.put("org_id", org_id);
json.put("suborg_id", suborg_id);
json.put("year", json1);
}
finaljson2.put(counter2, json.toString());
counter2++;
list.add("" + json + "");
}
//out.println("[" + finaljson2.toString() + "]");
out.println(list);
我的输出如下:
[{
"org_name": "MOOE",
"suborg_name": "Forms Expenses",
"org_id": "4",
"suborg_id": "24",
"year": {
"year": "2015",
"amt": "2"
}
}, {
"org_name": "MOOE",
"suborg_name": "Forms Expenses",
"org_id": "4",
"suborg_id": "24",
"year": {
"year": "20165",
"amt": "1"
}
}]
我的目标是获得格式
[{
"org_name": "MOOE",
"suborg_name": "Forms Expenses",
"suborg_id": "24",
"org_id": "4",
"Year": [{
"year": "2015",
"amt": "2"
}, {
"year": "2016",
"amt": "1"
}]
}]
最佳答案
试试这个
List<String> list = new ArrayList<String>();
while (rs2.next()) {
JSONObject json = new JSONObject();
if (!rs2.getString("suborg_id").isEmpty()) {
json.put("org_name", org_name);
json.put("suborg_name", suborg_name);
json.put("org_id", org_id);
json.put("suborg_id", suborg_id);
json.put("year");
[{
json.put("year", year);
json.put("amt", amt);
},{
json.put("year", year);
json.put("amt", amt);
}]
}
finaljson2.put(counter2, json.toString());
counter2++;
list.add("" + json + "");
}
关于java - 从数据库查询重新格式化 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39115719/