gpt4 book ai didi

java - 如何在java中得到这个输出

转载 作者:行者123 更新时间:2023-12-01 18:48:09 25 4
gpt4 key购买 nike

代码是:

public  JSONArray tree_data()  {


JSONArray result = new JSONArray();

JSONArray nodes = new JSONArray();

try {
String query= "select parent_names.name as parent_name, child_names.name as child_name, parent_child.title from parent_child INNER join parent_names on parent_names.id=parent_child.parent_id\r\n" +
" INNER join child_names on child_names.id=parent_child.child_id order by parent_names.name;";
Statement td = this.con.createStatement();
ResultSet rst=td.executeQuery(query);
String parent="";
int i=0;

while(rst.next())
{
JSONObject childs = new JSONObject();
JSONObject obj1 = new JSONObject();
String nowparent=rst.getString("parent_name");
if(parent.equals(nowparent)) {

childs.put("text",rst.getString("child_name"));
childs.put("title", rst.getString("title"));
nodes.put(childs);


}else {

parent=nowparent;
obj1.put("text", parent);
childs.put("text",rst.getString("child_name"));
childs.put("title", rst.getString("title"));
nodes.put(childs);


}obj1.put("nodes", nodes);
result.put(obj1);


}

}


catch (Exception e) {
System.out.print(e);
}
System.out.print(result);
return result;




}

我想要这个 JSON 输出

[
{
text: 'Order',
nodes: [
{
text: 'countrywise',
title: 'sss'
},
{
text: 'factorywise',
title: 'ffff'
}
]
},
{
text: 'sales',
nodes: [
{
text: 'countrywise',
title: 'sss'
},
{
text: 'factorywise',
title: 'ffff'
},
{
text: 'Season',
title: 'eeee'
}
]
}
];

这是数据库。parent_name child_name 标题 命令,瑞顺,sss,//
订单、客户、 ccc,//斯莱斯, 季节, sssss,//

斯拉斯, 顾客, ssssds,//

斯拉斯, 国家, sssdsds

用了很多方法,但还是解决不了。我认为问题有一个循环,但没有显示这个循环中的问题是什么。请帮助解决这个问题。谢谢

最佳答案

更正一些代码。现在工作

 JSONObject childs = new JSONObject();
JSONObject obj1 = new JSONObject();
String nowparent=rst.getString("parent_name");
if(parent.equals(nowparent)) {

childs.put("parent",rst.getString("child_name"));
childs.put("title", rst.getString("title"));
nodes.put(childs);


}else {
nodes=new JSONArray();
obj1.put("nodes", nodes);
parent=nowparent;
obj1.put("parent", nowparent);
childs.put("parent",rst.getString("child_name"));
childs.put("title", rst.getString("title"));
nodes.put(childs);
result.put(obj1);

关于java - 如何在java中得到这个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59781623/

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