I'm biased - I generally prefer the Clojure way of doing things to CL (data structures, unicode, portability, library compatibility) but then the last time I seriously used CL was ~2006-2007, so things may have changed since.
But, to address your requirements:
* JSON: clojure.contrib.json
* XML: clojure.contrib.prxml
I gather there are a JS generator and an SQL interfacing library in contrib as well, though I haven't used them. Worst case you can access any Java libs for those purposes.
You also get to plug into any webserver that supports Java servlets, if that's an issue.
The killer feature for server programming in Clojure is the STM though. It means you can multi-thread your server relatively worry-free without resorting to moving all your state out-of-process (e.g. all state lives in the DB). You still need to pay attention to synchronising I/O, but compared to manual locking of everything, STM is a piece of cake.
(context on my perspective: I've delivered a Clojure-powered back-end server for a multiplayer Flash game for a customer, as well as made some minor short-lived web sites; clojure was great for all of those use cases - I'd link to them if I was allowed to put my name against them)
But, to address your requirements:
* JSON: clojure.contrib.json
* XML: clojure.contrib.prxml
I gather there are a JS generator and an SQL interfacing library in contrib as well, though I haven't used them. Worst case you can access any Java libs for those purposes.
You also get to plug into any webserver that supports Java servlets, if that's an issue.
The killer feature for server programming in Clojure is the STM though. It means you can multi-thread your server relatively worry-free without resorting to moving all your state out-of-process (e.g. all state lives in the DB). You still need to pay attention to synchronising I/O, but compared to manual locking of everything, STM is a piece of cake.
(context on my perspective: I've delivered a Clojure-powered back-end server for a multiplayer Flash game for a customer, as well as made some minor short-lived web sites; clojure was great for all of those use cases - I'd link to them if I was allowed to put my name against them)