Hacker News new | ask | show | jobs
by nirvdrum 5317 days ago
Thanks. I ended up using scalaj-http, which was much simpler. But it took me a few days to find it. Dispatch does very well SEO-wise for Scala HTTP. The only other option I had come across was using http-client.

Have any good recommendations for JSON parsers? This was another case where I found the common libraries to be rather obtuse.

2 comments

I use BlueEyes here (I'm a big fan of BlueEyes). It's JSON library is based on Lift-JSON. Lift-JSON is fairly commonly used, so perhaps you've run across it already. It's actually fairly simple to use and is one of the few parts of Lift that has decent documentation:

https://github.com/lift/lift/tree/master/framework/lift-base...

Here's a summary:

The JSON AST is pretty straightforward. The JSON DSL works like this:

- A tuple ("key", value) constructs a key/value pair

- ~ joins them together to construct an object

E.g. ("foo", 1) ~ ("bar", "Hi") = {"foo": 1, "bar": "Hi"}

I never actually invoke the parser myself. BlueEyes does it if you change the ByteChunk is my example above to JValue.

Drop me an email (noel at untyped dot com) or tweet (@noelwelsh) or IM or Skype or whatever if you want to discuss more.

Alternatively, I've never used Coda Hale's Jerkson package, but I expect it is of high quality.

I don't use lift-the-web-framework, but after looking around at the scala json options, decided on and am so far really liking lift-json's package.

Does any of raw string <-> JSON AST, or maps/lists <-> JSON (...IIRC), or case objects <-> JSON (what I'm using it for, pseudo ORM).