public Element toXml() { Element elOrder = new Element("order"); elOrder.setAttribute("id",id); elOrder.setAttribute("cost",getFormattedCost()); Element elDate = new Element("date").addContent(date); elOrder.addContent(elDate); Element elItems = new Element("items"); for (Iterator<Item> iter = items.iterator() ; iter.hasNext() ; ) { elItems.addContent(iter.next().toXml()); } elOrder.addContent(elItems); return elOrder; }
public void doGet(HttpServletRequest req, HttpServletResponse res) throws java.io.IOException, ServletException { String custId = req.getParameter("username"); Customer customer = getCustomer(custId); Element responseElem = customer.toXml(); Document responseDoc = new Document(responseElem); res.setContentType("application/xml"); new XMLOutputter().output(responseDoc,res.getWriter());}
xml version="1.0" encoding="UTF-8"?> James Hyrax 08-26-2005 Oolong 512MB CF Card 512 Megabyte Type 1 CompactFlash card. Manufactured by Oolong Industries $49.99 Fujak Superpix72 Camera 7.2 Megapixel digital camera featuring six shooting modes and 3x optical zoom. Silver. $299.99
xml version="1.0"?><%@ page contentType="application/xml" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ${order.date} ${item.formattedPrice}
// Найти имя первой вещи в последней очереди покупателя var orderHistoryDoc = req.responseXML;var orders = orderHistoryDoc.getElementsByTagName("order"); var lastOrder = orders[orders.length - 1];var firstItem = lastOrder.getElementsByTagName("item")[0]; var itemNameElement = firstItem.firstChild;var itemNameText = itemNameElement.firstChild.data;
var orderHistoryText = req.responseText; var matches = orderHistoryText.match(/<date>(.*?)date>/);var date = matches[1];
var band = { name: "The Beatles", members: [ { name: "John", instruments: ["Vocals","Guitar","Piano"] }, { name: "Paul", instruments: ["Vocals","Bass","Piano","Guitar"] }, { name: "George", instruments: ["Guitar","Vocals"] }, { name: "Ringo", instruments: ["Drums","Vocals"] } ]};// Распознаем семейство объектов var musician = band.members[3];alert( musician.name + " played " + musician.instruments[0] + " with " + band.name );
public JSONObject toJSONObject() { JSONObject json = new JSONObject(); json.put("id",id); json.put("cost",getFormattedCost()); json.put("date",date); JSONArray jsonItems = new JSONArray(); for (Iterator<Item> iter = items.iterator() ; iter.hasNext() ; ) { jsonItems.put(iter.next().toJSONObject()); } json.put("items",jsonItems); return json;}
public void doGet(HttpServletRequest req, HttpServletResponse res) throws java.io.IOException, ServletException { String custId = req.getParameter("username"); Customer customer = getCustomer(custId); res.setContentType("application/x-json"); res.getWriter().print(customer.toJSONObject());}
{ "orders": [ { "items": [ { "price": "$49.99", "description": "512 Megabyte Type 1 CompactFlash card. Manufactured by Oolong Industries", "name": "Oolong 512MB CF Card", "id": "i-55768" }, { "price": "$299.99", "description": "7.2 Megapixel digital camera featuring six shooting modes and 3x optical zoom. Silver.", "name": "Fujak Superpix72 Camera", "id": "i-74491" } ], "date": "08-26-2005", "cost": "$349.98", "id": "o-11123" } ], "realname": "James Hyrax", "username": "jimmy66"}
var jsonExpression = "(" + req.responseText + ")"; var customer = eval(jsonExpression);// Найдем имя первой вещи в последней очереди покупателя var lastOrder = customer.orders[customer.orders.length-1]; var name = lastOrder.items[0].name;