jerkson


License

License

MIT
GroupId

GroupId

io.backchat.jerkson
ArtifactId

ArtifactId

jerkson_2.9.1
Last Version

Last Version

0.7.0
Release Date

Release Date

Type

Type

jar
Description

Description

jerkson
jerkson
Project URL

Project URL

https://github.com/backchatio/jerkson
Project Organization

Project Organization

io.backchat.jerkson
Source Code Management

Source Code Management

https://github.com/backchatio/jerkson

Download jerkson_2.9.1

How to add to project

<!-- https://jarcasting.com/artifacts/io.backchat.jerkson/jerkson_2.9.1/ -->
<dependency>
    <groupId>io.backchat.jerkson</groupId>
    <artifactId>jerkson_2.9.1</artifactId>
    <version>0.7.0</version>
</dependency>
// https://jarcasting.com/artifacts/io.backchat.jerkson/jerkson_2.9.1/
implementation 'io.backchat.jerkson:jerkson_2.9.1:0.7.0'
// https://jarcasting.com/artifacts/io.backchat.jerkson/jerkson_2.9.1/
implementation ("io.backchat.jerkson:jerkson_2.9.1:0.7.0")
'io.backchat.jerkson:jerkson_2.9.1:jar:0.7.0'
<dependency org="io.backchat.jerkson" name="jerkson_2.9.1" rev="0.7.0">
  <artifact name="jerkson_2.9.1" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.backchat.jerkson', module='jerkson_2.9.1', version='0.7.0')
)
libraryDependencies += "io.backchat.jerkson" % "jerkson_2.9.1" % "0.7.0"
[io.backchat.jerkson/jerkson_2.9.1 "0.7.0"]

Dependencies

compile (3)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.9.1
com.fasterxml.jackson.core : jackson-core jar 2.0.5
com.fasterxml.jackson.core : jackson-databind jar 2.0.5

test (1)

Group / Artifact Type Version
com.codahale » simplespec_2.9.1 jar 0.5.2

Project Modules

There are no modules declared in this project.

Jerkson

Because I think you should use JSON.

Jerkson is a Scala wrapper for Jackson which brings Scala's ease-of-use to Jackson's features. This library got started by codahale. I've just applied a bunch of the open pull requests and republished to maven.

Requirements

  • Scala 2.8.2 or 2.9.1
  • Jackson 1.9.x

Setting Up Your Project

Go ahead and add Jerkson as a dependency:

<dependencies>
  <dependency>
    <groupId>io.backchat.jerkson</groupId>
    <artifactId>jerkson_${scala.version}</artifactId>
    <version>0.6.0</version>
  </dependency>
</dependencies>

Parsing JSON

import com.codahale.jerkson.Json._

// Parse JSON arrays
parse[List[Int]]("[1,2,3]") //=> List(1,2,3)

// Parse JSON objects
parse[Map[String, Int]]("""{"one":1,"two":2}""") //=> Map("one"->1,"two"->2)

// Parse JSON objects as case classes
// (Parsing case classes isn't supported in the REPL.)
case class Person(id: Long, name: String)
parse[Person]("""{"id":1,"name":"Coda"}""") //=> Person(1,"Coda")

// Parse streaming arrays of things
for (person <- stream[Person](inputStream)) {
  println("New person: " + person)
}

For more examples, check out the specs.

Generating JSON

// Generate JSON arrays
generate(List(1, 2, 3)) //=> [1,2,3]

// Generate JSON objects
generate(Map("one"->1, "two"->"dos")) //=> {"one":1,"two":"dos"}

For more examples, check out the specs.

Handling snake_case Field Names

case class Person(firstName: String, lastName: String)

@JsonSnakeCase
case class Snake(firstName: String, lastName: String)

generate(Person("Coda", "Hale"))   //=> {"firstName": "Coda","lastName":"Hale"}
generate(Snake("Windey", "Mover")) //=> {"first_name": "Windey","last_name":"Mover"}

License

Copyright (c) 2010-2011 Coda Hale

Published under The MIT License, see LICENSE

io.backchat.jerkson

Mojolly Ltd.

Versions

Version
0.7.0