ModelMapper
An android library to map json string to model objects automatically based on annotations.
Install / Use
/learn @eunjae-lee/ModelMapperREADME
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
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.
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

