我想将这种json格式绑定到tree数据库读出来的格式是:
id name pid pname
7 墨尔本 2 澳洲
8 纽约 3 美国怎么转为这种json格式[
{id:'2',text:'澳洲',
children:[
{id:'6',text:'悉尼'},
{id:'7',text:'墨尔本'}
]
}
]
id name pid pname
7 墨尔本 2 澳洲
8 纽约 3 美国怎么转为这种json格式[
{id:'2',text:'澳洲',
children:[
{id:'6',text:'悉尼'},
{id:'7',text:'墨尔本'}
]
}
]
package com.hudepin.json;import java.util.ArrayList;
import java.util.List;public class JsonTest { private static List<User> userList = new ArrayList<User>(); /**
* @param args
*/
public static void main(String[] args) {
User u = new User();
u.setId("2");
u.setName("澳洲");
u.setParentUser(u);
User u1 = new User();
u1.setId("6");
u1.setName("悉尼");
u1.setParentUser(u);
User u2 = new User();
u2.setId("6");
u2.setName("墨尔本");
u2.setParentUser(u);
userList.add(u);
userList.add(u1);
userList.add(u2);
StringBuffer json = new StringBuffer("");
json.append("[");
for (User user : userList) {
List<User> childList = findChildren(user);
json.append("{");
json.append(generateCommon(user));
if (childList.size() > 0) {
json.append("children:");
json.append("[");
for (User childUser : childList) {
json.append("{");
json.append(generateCommon(childUser));
json.append("},");
}
json = new StringBuffer(json.substring(0, json.length() - 1));
json.append("]");
}
json.append("}");
}
json.substring(0, json.length() - 1);
json.append("]");
System.out.println(json);
} private static String generateCommon(User user) {
StringBuffer json = new StringBuffer("");
json.append(" id:'" + user.getId() + "'" + ",");
json.append("text:'" + user.getName() + "'");
return json.toString();
} private static List<User> findChildren(User user) {
List<User> returnList = new ArrayList<User>();
for (User u : userList) {
if (u.getId().equals(user.getId())) {
returnList.add(u);
}
}
return returnList;
}
}