public?static?Menu?initMenu(){
Menu?menu=new?Menu();
ClickButton?btn1=new?ClickButton();
btn1.setName("新生服務");
btn1.setType("click");
btn1.setKey("11");
ViewButton?btn2=new?ViewButton();
btn2.setName("暑假快樂");
btn2.setType("view");
btn2.setUrl("http://www.xianlaiwan.cn/");
ClickButton?btn3=new?ClickButton();
btn3.setName("聯系我們");
btn3.setType("location_select");
btn3.setKey("33");
ClickButton?btn4=new?ClickButton();
btn4.setName("小編微信");
btn4.setType("scancode_push");
btn4.setKey("44");
Button?button=new?Button();
button.setName("聯系我們");
//以下兩句都運用向上類型轉換
button.setSub_button(new?Button[]{btn3,btn4});
menu.setButton(new?Button[]{btn1,btn2,button});
return?menu;
}
解析后的效果
{
????"button":?[
????????{
????????????"key":?"11",
????????????"name":?"新生服務",
????????????"sub_button":?[],
????????????"type":?"click"
????????},
????????{
????????????"name":?"暑假快樂",
????????????"sub_button":?[],
????????????"type":?"view",
????????????"url":?"http://www.xianlaiwan.cn/"
????????},
????????{
????????????"name":?"聯系我們",
????????????"sub_button":?[
????????????????{
????????????????????"key":?"33",
????????????????????"name":?"聯系我們",
????????????????????"sub_button":?[],
????????????????????"type":?"location_select"
????????????????},
????????????????{
????????????????????"key":?"44",
????????????????????"name":?"小編微信",
????????????????????"sub_button":?[],
????????????????????"type":?"scancode_push"
????????????????}
????????????],
????????????"type":?""
????????}
????]
}
子菜單中的clickButton獨有的key和viewButton中獨有的url都能解析出來,為什么?
在java中,如果將一個對象進行向上類型轉換,那么就不能調用其子類中新增的成員屬性和
方法。但是在json解析中,為什么還能夠解析出子類中父類沒有的屬性呢?
2017-08-16
求解,我也是同樣錯誤,json解析出來不對
2016-09-11
向上轉型中可以解析出子類中獨有的屬性的。你應該去看Java的繼承