Co mi na JSON formate najviac vadi je prave absencia schemy. Podla mna je to najdolezitejsia feature bez ktorej sa XMLka nemozme zbavit a vyuzivat iba ciste JSON. Nechapem ako moze niekomu vadit definovanie takej schemy, ved pomocou nej sa da krasne definovat struktura a tym napr. vyuzivanie JSON aj vo webovych sluzbach namiesto klasickeho XML v SOAP.
Já myslím, že i na JSON Schema nakonec dojde, spíš jde o to, v jaké formě. Existuje tenhle aktivní Internet draft: http://tools.ietf.org/html/draft-zyp-json-schema-04. Já sám jsem napsal jiný draft, http://tools.ietf.org/html/draft-lhotka-netmod-yang-json-01, který umožňuje modelovat JSON data pomocí jazyka YANG. Je to sice maličko přes ruku, ale funguje to celkem dobře - implementoval jsem to i do programu pyang.
Len taky simple napad co drzim v hlave nejaku chvilu len nebol cas na realizaciu. Co sa tyka Javy tak Apache umoznuje plugovat parser. Tam by sa dala velmi jednoducho urobit konverzia JSON -> DOM a potom zvysok co sa tyka validacie prenechat uz na standardne postupu ako mas pre XMLko.
Nemyslel som kompletnu implementaciu. Staci pre Apache nasledovny jeden class prepisat pre JSON. Pozri na konci stranky sample pre CSV. To je vsetko. Zvysok bude fungovat ako pre XMLko.
http://xerces.apache.org/xerces2-j/xni-config.html
Myslite konverziu JSON do XML a potom naslednu validaciu cez XSD? Ano to sa samozrejme da ale podla mna je to zbytocny medzikrok. Navyse schema nieje urcena len na validaciu ale aj na popis dat.
Ja osobne by som bol rad, keby doslo k vytvoreniu novej verzie SOAP protokolu s vyuzitim JSON namiesto XML.
Ad "Myslite konverziu JSON do XML a potom naslednu validaciu cez XSD? Ano to sa samozrejme da ale podla mna je to zbytocny medzikrok."
Tohle je omyl vycházející z toho, že někteří lidé chápou XML pouze jako text s ostrými závorkami. XML je ale v první řadě objektový model - DOM a je z tohoto pohledu jedno, jestli máš data v nějakých hashmapách a polích nebo v DOMu - obojí je tím "mezikrokem" (který ovšem není zbytečný, bez něj to moc nejde - případně se dá použít SAX a za chodu ze vstupního proudu generovat rovnou objekty - tam už validaci nepotřebujeme, protože nevalidní objekty vzniknout nemůžou, resp. je validita je v nich zadrátovaná - na rozdíl od polí a map)
Mapování mezi JSON a XML jsou mraky -- doporučuji například pročíst sborníky XML Prague za poslední dva roky. Bohužel to mapování není úplně triviální, protože v něčem se jazyky dost liší -- například povolené znaky v identifikátorech.
Nicméně další verze "XML"-jazyků budou podporovat přímou práci s JSON, např.: http://www.w3.org/TR/xslt-30/#func-parse-json
Ahoj Jirko, pro data modelovaná YANGem se nám to mapuje velmi pěkně: http://tools.ietf.org/html/draft-lhotka-netmod-yang-json-01. Na rozdíl od jiných konvertorů se zohledňují i datové typy, takže třeba číselný parametr je v JSON číslo.
No mne skor ide o to, ze pre XML uz existuju jednoduche postupy ako ho validovat a to tym, ze si vytvorim vhodnu schemu, pomocou ktorej mozem validovat. Problem je, ze ako validovat napr. JSON. Ano da sa to prekonvertovat na XML (aj ked uznavam ze niekedy to moze byt problem) a to potom zvalidovat avsak pride mi to ako zbytocny medzikrok. Keby pre JSON existovala nejaka schema, mohol by som ju rovno napisat a pouzit bez konverzie. Samozrejme predpokladam, ze ta JSON schema by bola pouzitelna v hociktorom jazyku ci prostredi.
A není lepší nevymýšlet kolo a použít hotovou technologii? Tzn. mít XSD (případně jiné schéma), které popisuje logickou strukturu dat s tím, že tato data můžu serializovat v různých formátech (ať už klasické XML nebo INI soubory, Java properties, JSON, YAML, Neon a milion dalších podobných formátů)