Skip to content

Latest commit

 

History

History
105 lines (70 loc) · 2.06 KB

README.md

File metadata and controls

105 lines (70 loc) · 2.06 KB

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.

Bitdeli Badge