为了账号安全,请及时绑定邮箱和手机立即绑定

关于将对象解析成json格式问题

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.imooc.com/");
		
		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.imooc.com/"
        },
        {
            "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解析中,为什么还能够解析出子类中父类没有的属性呢?


正在回答

2 回答

求解,我也是同样错误,json解析出来不对

0 回复 有任何疑惑可以回复我~

向上转型中可以解析出子类中独有的属性的。你应该去看Java的继承

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于将对象解析成json格式问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号