{"adoption": {"forks": 2132, "observed_at": "2026-08-28T04:10:23.115002+00:00", "stars": 8493}, "canonical_url": "https://ross.abutalabs.com/products/mjextension", "card": {"archived": false, "artifact_type": "library", "description": "A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn't need to extend any base class. You don't need to modify any model file.", "domain": ["developer-tools", "apis", "mobile-development"], "enriched": true, "function": ["serialization"], "health_score": 25, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["CoderMJLee/MJExtension"], "name": "CoderMJLee/MJExtension", "platform": [], "pushed_at": "2024-03-13T05:26:26+00:00", "repo": "CoderMJLee/MJExtension", "stars": 8493, "tags": ["objective-c", "-to-model", "dictionary-to-model", "cocoapods", "core-data", "nonintrusive", "ios", "macos", "swift"], "topics": ["objective-c", "model", "json", "dictionary", "array"], "urls": [], "use_cases": ["convert  responses into objective-c model objects", "serialize models back to  dictionaries", "map  keys to differently named model properties", "convert  arrays into model arrays", "implement nscoding for all model properties with one line of code", "convert between core data models and"], "what_it_is": "MJExtension is a lightweight Objective-C framework for converting between JSON/dictionaries and model objects without requiring models to inherit from a base class or modify model files. It supports JSON-to-model and model-to-JSON conversion, model arrays, Core Data models, one-line Coding/SecureCoding, and key mapping customization.", "when_to_avoid": ["you are building a pure Swift project where Codable is sufficient", "you need cross-platform JSON serialization outside Apple platforms", "you prefer modern Swift-native serialization like Codable or Swift's new Observation-driven approaches"], "when_to_choose": ["you are building an Objective-C or mixed Objective-C/Swift iOS or macOS app", "you want nonintrusive JSON-model conversion without a base model class", "you need fast dictionary-to-model conversion with key mapping and type conversion features"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mjextension", "repo": "CoderMJLee/MJExtension", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.115002+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:26:49.554663+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ceb41a0a77b663affae99472bf7afc571a7bc96feee1b30854b4271ac0310e", "fetched_at": "2026-08-28T04:10:23.115002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CoderMJLee/MJExtension"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4485, "days_push": 903, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}