Jsonexport

JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.
Alternatives To Jsonexport
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Jsonexport4,695
8 months ago61otherSwift
JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.
Evreflection936
1093 years ago194February 18, 201917otherSwift
Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift
Realm Json679
146 years ago22January 13, 201631mitObjective-C
A concise Mantle-like way of working with Realm and JSON.
Keycloak Config Cli510
21 days ago3November 29, 201737apache-2.0Java
Import YAML/JSON-formatted configuration files into Keycloak - Configuration as Code for Keycloak.
Shmodelobject56
6 years ago13June 19, 20161mitObjective-C
Base model object which uses objective-c runtime to populate the instance variables (ivars and properties) of User created Model from NSDictionary objects.
Realm Jsonapi38
6 years ago7January 11, 20173apache-2.0C++
Easily integrate Realm for iOS with a JSON-API compliant server
Realmcrust25
7 years ago1mitSwift
Simple Crust Extension for Mapping Realm Objects From JSON
Crust18
13 years ago34March 29, 20202mitSwift
What sits between the cloud and the core of an app
Realm Rest17
8 years ago12August 14, 20154mitC++
An extension to Realm.io for working with JSON based Rest API's
Jsonexport16
2 months agootherSwift
JSONExport修复多语言版是Mac下JSON字符串转Model对象工具,基于Ahmed-Ali/JSONExport进行完善。与Ahmed-Ali/JSONExport相比修改了关闭之后需要退出才能重新打开,适配了多语言,同样也适配了暗黑模式
Alternatives To Jsonexport
Select To Compare


Alternative Project Comparisons
Readme

JSONExport

JSONExport is a desktop application for Mac OS X written in Swift. Using JSONExport you will be able to:

  • Convert any valid JSON object to a class of one of the currently supported languages.
  • Preview the generated content before saving it.
  • Include constructors only, utility methods only, both or none.
  • Change the root class name.
  • Set a class name prefix for the generated classes.
  • Set package name for Java files.

Generated Files

Each generated file, besid the getters and setters (for Java) can include:

  • A constructor wich accepts an instance of NSDictionary, JSON, JSONObject instance depending on the file language, and the class will use this object to fill its properties data.
  • A utility method which converts the class data into a dictionary again.

Currently supported languages

Currently you can convert your JSON object to one of the following languages:

  1. Java for Android.
  2. Java for Realm Android.
  3. GSON for Android
  4. Swift Classes.
  5. Swift Classes for SwiftyJSON library.
  6. Swift Classes for Realm.
  7. Swift - CoreData.
  8. Swift Structures.
  9. Swift Structures for Gloss
  10. Swift Mappable Classes for (Swift 3) ObjectMapper
  11. Swift Structures for Unbox
  12. Objective-C - iOS.
  13. Objective-C - MAC.
  14. Objective-C - CoreData.
  15. Objective-C for Realm iOS.

Screenshot shows JSONExport used for a snippet from Twitter timeline JSON and converting it to Swift-CoreData. alt tag

Installation

Kindly clone the project, and build it using xCode 8 and above.

To Do

  • Support Objective-C Done
  • Sync multible classes with the same name or have the same exact properties Done
  • Support to parse JSON arrays of objects Done
  • Load JSON data from web
  • Open .json files from JSONExport
  • Supported languages management editor.
  • Beside raw JSON, load the model raw data from plist files as well.

Known Limitations:

  • When exporting to subclasses of NSManagedObject, some data types can not be exported. For example core data does not have data type for "array of strings"; in turn, if your JSON contains an array of strings, the exported file will not compile without you fixing the type mismatch.
  • When exporting subclasses of RLMObject, you will have to enter the default values of premitive types manually. This is because of dynamic properties limition that prevents you from having an optional premitive type.
  • When exporting to CoreData or Realm and you want to use the utility methods, you will need to manually watch for deep relation cycle calls; that is, when you convert an object to dictionary, this object try to convert one of its relation to a dictionary and the relation tries to convert the original object to a dictionary, that will cause a kind of cycle where each object involved calls the other object's toDictionary method infenitly...
  • Avoid attempt to model a JSON object with empty values, because JSONExport does not understand empty values and can not guess their types.
  • Deep nesting of arrays and objects will not be exported in a proper model files.

Final Note

The application still in its early stage. Please report any issue so I can improve it.

License

JSONExport is available under custom version of MIT license.

Popular Json Projects
Popular Realm Projects
Popular Data Formats Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Swift
Json
Realm
Coredata