On Thu, Sep 04, 2008 at 10:43:17AM +0200, Jakub Podlesak wrote: > FreeMaker nepouzivam, nicmene napr. v JSONu nejde jen o obaleni dat > do zavorek a uvozovek. Resi se ve FreeeMakeru nejak i napr. zakodovani > specialnich znaku? > > Tj. treba \n, \t, atd ?
FreeMarker pouziva velice trivialni mechanismus na pridani escapovace. Nema ve sve distribuci JSONEscape, ale hodlam ho napsat. A dost mozna pouziju Java JSON API ;-) tapik > ~Jakub > > > > Jedine, co mne napada, je, ze se v prvnim pripade musim pachtit s Java XML > > API (a je jedno, zda DOM, SAX, JDOM, XOM ci neco jineho), abych dostal > > validni XML, a to pak pomoci transformace (bud XQuery nebo XSLT) nejdrive > > naparsovat, abych to mohl transformovat (no dobre, serialize-parse se da > > odstranit, ale i tak). > > > > > Koles i LT maj 100% pravdu v tom, ze generovat takovyhle format > > > "System.out.println" neni nejlepsi napad ... Musis tu lenost prekonat, je > > > to > > > pro dobrou vec :-) > > > > FreeMarker neni generovani pomoci System.out.println. Doporucuji se podivat > > na http://freemarker.org . Uz obrazek na homepage jasne ukazuje zakladni > > princip. V Jave se predpripravi data ve FreeMarkerovem formatu a ten pak > > naparsuje sablonu a vlozi ona data na to spravne misto. > > > > Navic pouziti sablony dava zadarmo moznost customizace dle potreb zakaznika, > > protoze jednim z vystupnich formatu muze byt i XHTML. > > > > A to se ani nebavim o dalsich pomerne netrivialnich protokolech jako treba > > SOAP, kdy mi tato RESTova servisa muze hrat roli RESTove XML ci SOAP servisy > > bez nutnosti navtrdo generovat WSDL. Misto toho lze pomerne jednoduse > > postavit wrapped-doclit SOAPMessage a korektne pres HTTP vratit ;-) > > > > A tak bych mohl pokracovat... > > > > A co treba zakaznicka plugovatelnost data generatoru - staci patricne > > rozsirit sablonu a voilŕ! Je to tam. > > > > FreeMarker samozrejme neni vhodny pro binarni formaty nebo pro generovani > > velkeho qanta dat, kde zalezi na rychlosti. Google WebServices bych v nem > > nepsal. Pokud je vystup textovy format (coz vetsina na Internetu pouzivanych > > protokolu je) a pokud je format dat dopredu znam (a neni nijak dramaticky > > netrivialni), nemyslim, ze neni duvodu FreeMarker ci Velocity (ci JavaFaces) > > nepouzit. Souhlasim, ze napsat to v PHP tak, ze se mi mixuje kod data > > generujici a vlastni vystup, je to na pendrek (to je onen sout<TAB> > > pristup). > > > > Samozrejme je vzdy mozne slozite struktury objektu zkonstruovat pomoci > > patricneho Java API (treba JSONu) a ty potom vratit jako SimpleScalar do > > sablony na patricnem miste. Vsichni si jiste dokazete predstavit, jak toto > > udelat pomoci specialniho JSP tagu, pricemz obdobny postup ovlada i > > FreeMarker. > > > > Navic co se tyka validity, neni nic jednodussiho nez napojit vystup > > behem testovani na validator patricneho formatu. > > > > Pokud mi nekdo uvedete protipriklad, rad se necham poucit. > > > > tapik > > > > > 2008/9/3 Oto Buchta <[EMAIL PROTECTED]> > > > > > > > On Wed, Sep 03, 2008 at 04:32:44PM +0200, Pavel Kolesnikov wrote: > > > > > Me prijde Freemarker na generovani machine readable dat tak trochu > > > > nevhodny, > > > > > kdy muzes pouzit jednoduche API z http://www.json.org/java/index.html > > > > > > > > > > Myslim, ze s touhle knihovnou by tvoje sestavovani JSONu bylo > > > > prehlednejsi > > > > > a jako side-effect bys mel po problemu, ktery popisujes. > > > > > > > > > > Pavel > > > > > > > > Ano, je to prehlednejsi a hezci. Ale. > > > > Ma to jeden hacek - jedna se o RESTovou aplikaci, kde si mohu rict, > > > > v jakem formatu chci patricny resource. A mam-li volby jako XML, RSS, > > > > ATOM, > > > > JSON, CSV (v prvnim nastrelu,m co bude dal nevim), prijde mi sablonovac > > > > jako jediny schudny nastroj, nechci-li kazde implementovat zvlast... > > > > > > > > Nebo kdybys snad mel tip na nejakou REST-like knihovnu na generovani > > > > machine > > > > readable formatu, dej vedet. Ja ne, tak si ji musim napsat sam. > > > > > > > > tapik > > > > > > > > > > > > > > 2008/9/3 Oto Buchta <[EMAIL PROTECTED]>: > > > > > > Zdravim, > > > > > > chtel bych se zeptat, jeslti jste narazili na problem, kdyz na konci > > > > pole > > > > > > je pred hranatou zavorkou carka. Vim, ze dle syntaxe jde o chybu, > > > > > > ale > > > > > > generuju JSON ve FreeMarkeru a priznam se, ze se mi na tech padesati > > > > mistech > > > > > > nechce pocitat pocet prvku a za poslednim tu carku nedelat nebo > > > > zapomenout > > > > > > na foreach nebo dokonce davat null jako ukoncovak... > > > > > > > > > > > > Chtel bych si to dovolit, nebot v javadocu k org.json,JSONArray se > > > > pise: > > > > > > > > > > > > The texts produced by the toString methods strictly conform to JSON > > > > syntax rules. The constructors are more forgiving in the texts they will > > > > accept: > > > > > > > > > > > > * An extra , (comma) may appear just before the closing bracket. > > > > > > > > > > > > Dik, > > > > > > > > > > > > tapik > > > > > > > > > > > > > > > > > > > > > > -- > > > S pozdravem, > > > > > > Tomas Zverina > > > > > > Multimedia atelier s.r.o. > > > Na Dolinách 4 > > > 147 00 Praha 4 > > > IČO: 25127071 > > > tel.: 241 433 120 > > > e-mail: [EMAIL PROTECTED] > > > http://www.m-atelier.cz/ > > > > > > Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v > > > Praze, oddíl C, vložka 51961. > > -- > http://blogs.sun.com/japod
