EL表達式是JavaServer Pages的一種語言擴展,用于訪問和處理數據。在使用EL表達式訪問JSON對象時,需要按照一定的格式來組織JSON數據,以便EL表達式能夠很好地解析和訪問它。
首先,我們假設JSON數據已經被存儲在一個String類型的變量中,使用JSON格式如下:
{ "name": "張三", "age": 25, "gender": "男", "address": { "province": "湖南", "city": "長沙", "district": "岳麓區" }, "hobbies": ["打籃球", "唱歌", "看電影"] }
接下來,在JSP頁面中使用EL表達式來訪問JSON對象:
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String jsonStr = "{\"name\":\"張三\",\"age\":25,\"gender\":\"男\",\"address\":{\"province\":\"湖南\",\"city\":\"長沙\",\"district\":\"岳麓區\"},\"hobbies\":[\"打籃球\",\"唱歌\",\"看電影\"]}"; pageContext.setAttribute("jsonObj", new JSONObject(jsonStr)); %> <p>姓名:${jsonObj.name}</p> <p>年齡:${jsonObj.age}</p> <p>性別:${jsonObj.gender}</p> <p>省份:${jsonObj.address.province}</p> <p>城市:${jsonObj.address.city}</p> <p>區縣:${jsonObj.address.district}</p> <c:forEach items="${jsonObj.hobbies}" var="hobby"> <p>愛好:${hobby}</p> </c:forEach>
以上代碼中,我們將JSON數據存儲在一個JSONObject對象中,并通過pageContext對象將這個對象存儲到頁面上下文中,以便在JSP頁面中訪問。在JSP頁面中,我們可以像訪問JavaBean屬性一樣,通過EL表達式訪問JSON對象的屬性和元素。
需要注意的是,使用EL表達式訪問JSON對象時,JSON數據需要符合規范的JSON格式,如使用雙引號(而非單引號)來包裹屬性名和屬性值,使用花括號包裹對象,使用方括號包裹數組,等等。
上一篇el的能獲取json
下一篇el表達式 json遍歷