练习题1:jsonToBean
public void Test() {
/**
* {"button":[
{"name":"主菜单1","sub_button":[{"key":"测试菜单1按钮1的KEY","name":"菜单1按钮1","type":"click"},{"url":"菜单1按钮2"},{"key":"测试菜单1按钮1的KEY","name":"菜单1按钮3","type":"click"}]},
{"name":"主菜单2","sub_button":[{"url":"菜单2按钮1"},{"key":"测试菜单1按钮1的KEY","name":"菜单2按钮2","type":"click"},{"url":"菜单2按钮3"}]},
{"name":"主菜单3","sub_button":[{"key":"测试菜单1按钮1的KEY","name":"菜单3按钮1","type":"click"},{"url":"菜单3按钮2"},{"key":"测试菜单1按钮1的KEY","name":"菜单3按钮3","type":"click"}]}]}
*/
}
|答案在下面
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|答案在下面
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如果大家有更好的方法请务必告诉我~~~
public void Test() {
/**
* {"button":[
{"name":"主菜单1","sub_button":[{"key":"测试菜单1按钮1的KEY","name":"菜单1按钮1","type":"click"},{"url":"菜单1按钮2"},{"key":"测试菜单1按钮1的KEY","name":"菜单1按钮3","type":"click"}]},
{"name":"主菜单2","sub_button":[{"url":"菜单2按钮1"},{"key":"测试菜单1按钮1的KEY","name":"菜单2按钮2","type":"click"},{"url":"菜单2按钮3"}]},
{"name":"主菜单3","sub_button":[{"key":"测试菜单1按钮1的KEY","name":"菜单3按钮1","type":"click"},{"url":"菜单3按钮2"},{"key":"测试菜单1按钮1的KEY","name":"菜单3按钮3","type":"click"}]}]}
*/
String jsonAll = "{\"button\":["
+ "{\"name\":\"主菜单1\",\"sub_button\":[{\"key\":\"测试菜单1按钮1的KEY\",\"name\":\"菜单1按钮1\",\"type\":\"click\"},{\"key\":\"菜单1按钮2\"},{\"key\":\"测试菜单1按钮1的KEY\",\"name\":\"菜单1按钮3\",\"type\":\"click\"}]},"
+ "{\"name\":\"主菜单2\",\"sub_button\":[{\"key\":\"菜单2按钮1\"},{\"key\":\"测试菜单1按钮1的KEY\",\"name\":\"菜单2按钮2\",\"type\":\"click\"},{\"key\":\"菜单2按钮3\"}]},"
+ "{\"name\":\"主菜单3\",\"sub_button\":[{\"key\":\"测试菜单1按钮1的KEY\",\"name\":\"菜单3按钮1\",\"type\":\"click\"},{\"key\":\"菜单3按钮2\"},{\"key\":\"测试菜单1按钮1的KEY\",\"name\":\"菜单3按钮3\",\"type\":\"click\"}]}]}";
JSONObject o = (JSONObject) JSON.parse(jsonAll);
List<Button> buttons = new ArrayList<>();
ButtonModel buttonModel = new ButtonModel();
String json = o.getString("button");
JSONArray o1 = (JSONArray) JSON.parse(json);
for (int i = 0; i < o1.size(); i++) {
String json2 = o1.get(i).toString();
JSONObject obj = (JSONObject) JSON.parse(json2);
List<SubButton> arr = new ArrayList<>();
arr = JSON.parseArray(obj.getString("sub_button"), SubButton.class);
Button button = new Button();
button.setSub_button(arr);
button.setName(obj.getString("name"));
buttons.add(button);
}
buttonModel.setButton(buttons);
}