私はテーブルを持っています
Country State
USA Texas
USA Alasca
India Delhi
India Bombay
India Madras
Russia Mosco
Russia Petersberg
Germany Berlin
China Beijing
China Tibet
Turkey Antioch
これらのアイテムを国と州の 2 つの選択ボックスに表示する必要があります。国選択ボックスから米国を選択すると、州選択ボックスにテキサスとアラスカが表示されます。したがって、Jsonオブジェクトを次のように作成する必要があります
[{Country:USA, State:{{statename:Texas},{statename:Alasca}}},
{Country:India, State:{{statename:Delhi}, {statename:Bombay}, {statename:Madras}}},
{Country:Germany, State:{{statename:Berlin}},
{Country:Russia, State:{{statename:Mosco},{statename:Petersberg}}},
{Country:China, State:{{statename:Beijing}, {statename:Tibet}}},
{Country:turkey, State:{{statename:Antioch}}}
]
現在、国と州を別々に取得するために 2 つの別々の SQL を使用しています。JavaクラスCountryを次のように使用します
public class Country implements Serializable {
String country;
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
}
そして私はDAOを
public List<Country> extractData(ResultSet rs) throws SQLException,
DataAccessException {
List<Country> list = new ArrayList<Country>();
while (rs.next()) {
Country obj = new Country();
obj.setCountry(rs.getString(1).trim());
list.add(obj);
}
return list;
}
オブジェクトを次のように取得します。
[{country:USA}, {country:India}, {country:Germany}, {country:Russia}, {country:China}, {country:turkey}]
同様に、状態のクラスとデータを抽出するコードを作成し、状態を次のように取得します
[ {state:Texas} {state:Alasca}, {state:Delhi}, {state:Bombay}, {state:Madras}, {state:Berlin}, {state:Mosco}, {state:Petersberg} {state:Beijing}, {state:Tibet}, {state:Antioch}]
これは、選択ボックスに個別に表示できます。
しかし、選択ボックスに正しく表示するには、次の方法でオブジェクトが必要です。
[{Country:USA, State:{{statename:Texas},{statename:Alasca}}},
{Country:India, State:{{statename:Delhi}, {statename:Bombay}, {statename:Madras}}},
{Country:Germany, State:{{statename:Berlin}},
{Country:Russia, State:{{statename:Mosco},{statename:Petersberg}}},
{Country:China, State:{{statename:Beijing}, {statename:Tibet}}},
{Country:turkey, State:{{statename:Antioch}}}
]
次のようにJavaクラスを作成できます。
class CountryState{
string country;
List <State> state;
public String getCountry()
{
return country;
}
public void setCountry(String country){
this.country=country;
}
public List<State> getState(){
return state;
}
public void setState(List<State> state)
{
this.state.add(state);
}
}
class State{
String statename;
public String getStatename()
{
return statename;
}
public void setStatename(String statename){
this.statename=statename;
}
結果セットの値をそのようなオブジェクトに格納し、目的の JSON オブジェクトを生成する方法を知る必要があります。