ModelMapper

General

Category
Free
Tag
JSON
License
N/A
Registered
Jul 5, 2014
Favorites
1
Link
https://github.com/eunjae-lee/ModelMapper
See also
JsonSurfer
Jackson jr
DSL JSON
gson-flatten
LoganSquare

Additional

Language
Java
Version
ModelMapper-1.0.6 (Mar 12, 2014)
Created
Feb 14, 2014
Updated
Jun 23, 2018 (Retired)
Owner
Eunjae Lee (eunjae-lee)
Contributors
Bitdeli Chef (bitdeli-chef)
Eunjae Lee (eunjae-lee)
2
Activity
Badge
Generate
Download
Source code

THIS REPOSITORY IS NO LONGER MAINTAINED.

ModelMapper

ModelMapper is an Android library to help parsing JSON strings and mapping it to objects of model classes automatically.

This is your json.

{
  "name": "Eunjae Lee",
  "noshow": false,
  "albuminfo": {
    "count": 10
  }
}

This is your model.

class User {
  
  String name;
  
  @JsonProperty("noshow")
  boolean noShow;
  
  @JsonProperty("albuminfo.count")
  int albumCount;
}

And all you need to do is:

User user = ModelMapper.getInstance().generate(User.class, jsonString);

And if you're using AndroidAnnotations, it gets simpler. You just need to put an converter at rest client interface.

@Rest(converters = {JsonToModelConverter.class})
public interface MyRestClient {
 
  @Get("/...")
  User getUser();
}

It's done.

Download

Maven

  <dependency>
    <groupId>net.eunjae.android.modelmapper</groupId>
    <artifactId>ModelMapper</artifactId>
    <version>1.0.6</version>
  </dependency>

Gradle

  compile 'net.eunjae.android.modelmapper:ModelMapper:1.0.6'

Usage Documentation

Check out the wiki page: https://github.com/eunjae-lee/ModelMapper/wiki

License

MIT

Changelog

1.0.6 (2014/03/12)

  • OnBeforeMapping has changed a little bit.
  • A field with "HashMap" type is now mapped well.
  • Null check

1.0.5 (2014/03/06)

  • Bugs are fixed when it can't parse json strings with unusual structure.
  • Test cases are added.

1.0.4

  • Now ModelMapper just returns json string if the first argument of ModelMapper.getInstance().generate(...) is String.class. ** There was a bug that it returned an empty string in that case.

1.0.3

  • Now this library throws exceptions when callback method(@AfterMapping) is not declared properly.

1.0.2

  • Minor bug fix that couldn't recognize array class when it is not directly extending ArrayList.