(2) json-taglib (http://json-taglib.sourceforge.net/examples.html)
它是建立在org.json库的基础上(对应于包里面的atg.taglib.json.util.*),采用jsp的自定义标签,它定义了object,property,array这三种json的类型(没有定义function), 下面是它的官方网站上面的例子.
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<json:object>
<json:property name="itemCount" value="${cart.itemCount}"/>
<json:property name="subtotal" value="${cart.subtotal}"/>
<json:array name="items" var="item" items="${cart.lineItems}">
<json:object>
<json:property name="title" value="${item.title}"/>
<json:property name="description" value="${item.description}"/>
<json:property name="imageUrl" value="${item.imageUrl"/>
<json:property name="price" value="${item.price}"/>
<json:property name="qty" value="${item.qty}"/>
</json:object>
</json:array>
</json:object>
-----------------------------------------------------
输出结果:
{
itemCount: 2,
subtotal: "$15.50",
items:[
{
title: "The Big Book of Foo",
description: "Bestselling book of Foo by A.N. Other",
imageUrl: "/images/books/12345.gif",
price: "$10.00",
qty: 1
},
{
title: "Javascript Pocket Reference",
description: "Handy pocket-sized reference for the Javascript language",
imageUrl: "/images/books/56789.gif",
price: "$5.50",
qty: 1
}
]
}
-----------------------------------------------------
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<json:object>
<json:property name="itemCount" value="${cart.itemCount}"/>
<json:property name="subtotal">
<fmt:formatNumber value="${cart.subtotal}" type="currency" currencyCode="${cart.currency}"/>
</json:property>
<json:array name="items" var="item" items="${cart.lineItems}">
<json:object>
<json:property name="title" value="${item.title}"/>
<json:property name="description" value="${item.description}"/>
<json:property name="imageUrl" value="${item.imageUrl"/>
<json:property name="price">
<fmt:formatNumber value="${item.price}" type="currency" currencyCode="${cart.currency}"/>
</json:property>
<json:property name="qty" value="${item.qty}"/>
</json:object>
</json:array>
</json:object>