git404hub

what is mjextension fr?

codermjlee/mjextension — explained in plain English

Analysis updated 2026-06-24

8,504Objective-CAudience · developerComplexity · 2/5Setup · easy

tl;dr

A lightweight Objective-C library for iOS and macOS that automatically converts JSON data into model objects and back, without requiring any changes to your existing classes, no base class, no annotations, no config files.

vibe map

mindmap
  root((MJExtension))
    Conversion
      JSON to model
      Model to JSON
      Nested objects
      Array support
    Configuration
      Key mapping
      Type conversion
      CamelCase support
    Installation
      CocoaPods
      Carthage
      Swift Package Manager
    Audience
      iOS developers
      macOS developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Parse a JSON response from a REST API directly into your existing Objective-C model objects without writing repetitive boilerplate code.

VIBE 2

Convert nested JSON structures containing arrays or child objects into a fully typed model hierarchy in a single call.

VIBE 3

Serialize an Objective-C model object back to an NSDictionary for sending data to an API.

VIBE 4

Map JSON keys that use underscore naming to camelCase property names in your iOS model automatically.

what's the stack?

Objective-CiOSmacOSCocoaPodsCarthageSwift Package Manager

how it stacks up fr

codermjlee/mjextensionsteipete/aspectstttattributedlabel/tttattributedlabel
Stars8,5048,4298,715
LanguageObjective-CObjective-CObjective-C
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 30min
License not specified in the explanation.

in plain english

MJExtension is a library for iOS and macOS developers that handles the translation between JSON data and Objective-C model objects. JSON is the standard format that web servers send data in, and model objects are the data structures that apps use internally to represent things like a user profile, a post, or a product. Normally, converting between them requires writing a lot of repetitive code. MJExtension automates that process. The key design goal is that it does not require you to change your existing model classes in any way. There is no base class to inherit from, no annotations to add to your properties, and no configuration files to maintain. You point MJExtension at a dictionary of JSON data and a model class, and it fills in the model's fields by matching the JSON keys to the property names. The library handles a range of conversion scenarios beyond simple flat objects. It can convert nested models, meaning a JSON object that contains another object inside it. It can convert arrays of models from JSON arrays. It supports converting model objects back into JSON dictionaries as well, so the conversion goes both directions. It also handles some common type mismatches, such as converting a date string into an actual date object, or treating a string value as a boolean. For cases where the JSON key names do not match the model property names, MJExtension lets you define a mapping so it knows how to connect them. It also has built-in support for converting camelCase property names to underscore-separated key names, which is a common difference between server and client naming conventions. The README is written in both English and Chinese. Installation is available through CocoaPods, Carthage, Swift Package Manager, or by manually copying the source files into a project. The library also works with Swift projects through Objective-C bridging, though the README notes that pure-Swift projects may prefer a separate Swift-native library called KakaJSON instead.

prompts (copy fr)

prompt 1
Show me how to use MJExtension to parse a JSON array of user profiles into an NSArray of User model objects in Objective-C.
prompt 2
How do I define a custom key mapping in MJExtension when the JSON field is named user_name but my model property is userName?
prompt 3
How do I parse nested JSON in MJExtension where a User model contains an Address model as a property?
prompt 4
How do I convert my Objective-C model object back to an NSDictionary using MJExtension so I can serialize it to JSON for an API request?

Frequently asked questions

what is mjextension fr?

A lightweight Objective-C library for iOS and macOS that automatically converts JSON data into model objects and back, without requiring any changes to your existing classes, no base class, no annotations, no config files.

What language is mjextension written in?

Mainly Objective-C. The stack also includes Objective-C, iOS, macOS.

What license does mjextension use?

License not specified in the explanation.

How hard is mjextension to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is mjextension for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.