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

Odpovedet emailem