{"id":28200019,"url":"https://github.com/justprodev/json-to-freezed-intellij","last_synced_at":"2025-06-12T10:32:07.683Z","repository":{"id":292295666,"uuid":"850170064","full_name":"justprodev/json-to-freezed-intellij","owner":"justprodev","description":"Plugin for Intellij IDEA for generatiing Dart freezed classes from json templates","archived":false,"fork":false,"pushed_at":"2025-05-09T06:30:09.000Z","size":193,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-16T20:11:05.632Z","etag":null,"topics":["dart","freezed","intellij-plugin","json"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/justprodev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-31T03:44:31.000Z","updated_at":"2025-05-09T06:30:13.000Z","dependencies_parsed_at":"2025-05-09T07:36:06.967Z","dependency_job_id":null,"html_url":"https://github.com/justprodev/json-to-freezed-intellij","commit_stats":null,"previous_names":["justprodev/json-to-freezed-intellij"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/justprodev/json-to-freezed-intellij","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justprodev%2Fjson-to-freezed-intellij","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justprodev%2Fjson-to-freezed-intellij/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justprodev%2Fjson-to-freezed-intellij/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justprodev%2Fjson-to-freezed-intellij/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justprodev","download_url":"https://codeload.github.com/justprodev/json-to-freezed-intellij/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justprodev%2Fjson-to-freezed-intellij/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259447482,"owners_count":22859067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","freezed","intellij-plugin","json"],"created_at":"2025-05-16T20:10:19.712Z","updated_at":"2025-06-12T10:32:07.675Z","avatar_url":"https://github.com/justprodev.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Version](https://img.shields.io/jetbrains/plugin/v/16971-dartjsongenerator.svg)](https://plugins.jetbrains.com/plugin/16971-dartjsongenerator)\n[![Downloads](https://img.shields.io/jetbrains/plugin/d/16971-dartjsongenerator.svg)](https://plugins.jetbrains.com/plugin/16971-dartjsongenerator)\n\n### Generating [freezed](https://pub.dev/packages/freezed) models with [json_serializable](https://pub.dev/packages/freezed#fromjsontojson) support from JSON examples.\n\nGenerating from the *New* menu:\n\n![new](/screenshots/new.png)\n\nGenerating from the *Generate* menu:\n\n![new](/screenshots/generate.png)\n\nGenerating dialog:\n\n![new](/screenshots/dialog.png)\n\nJSON:\n```json\n{\n  \"code\": \"2000\",\n  \"data\": {\n    \"test_field\": \"aaa\",\n    \"facetoface_address\": {\n      \"address\": \"\",\n      \"receiver\": \"Luo\",\n      \"receiver_cellphone\": \"1388345****\",\n      \"sid\": \"001190e19e754001b53701d0aa81bfe0\",\n      \"sort_number\": 1,\n      \"title\": \"Ms.\",\n      \"type\": \"FACETOFACE\",\n      \"user_sid\": \"a19cf6e3586143d283dd4128c456bfaf\"\n    },\n    \"order\": {\n      \"bidding\": 2300,\n      \"broker_avatar\": \"broker/getAvatar?key=avatar/b82378ccaccb403c9d8420274372c904\",\n      \"broker_cellphone\": \"1347282****\",\n      \"broker_deal_num\": 15,\n      \"broker_name\": \"Wang**\",\n      \"broker_sid\": \"b82378ccaccb403c9d8420274372c904\",\n      \"broker_stars\": 4.5,\n      \"code\": \"1512151307270113\",\n      \"cover\": \"show/getPoster?key=52f30bbce4ef4122919cbc95c2f01c36/52f30bbce4ef4122919cbc95c2f01c36\",\n      \"created_datetime\": \"2015-12-15 13:07:28\",\n      \"delivery_address_sid\": \"c25c1954ca204dee8fc18f51bcc71a3e\",\n      \"delivery_fee\": 0,\n      \"evaluate_starts\": 0,\n      \"is_delete\": false,\n      \"is_sequential\": false,\n      \"order_status\": \"CLOSED\",\n      \"order_status_array\": [\n        {\n          \"operate_datetime\": \"2015-12-15 13:07:28\",\n          \"operate_user_sid\": \"b82378ccaccb403c9d8420274372c904\",\n          \"operate_username\": \"Wang**\",\n          \"order_sid\": \"21bc3cc65e9e47af952c1f4f1f0fd85a\",\n          \"order_type\": \"1\",\n          \"sid\": \"04940ed81540466ea4408f79989a5d54\",\n          \"state\": \"TAKING\"\n        }\n      ],\n      \"order_status_desp\": \"\",\n      \"order_type\": \"1\",\n      \"pay_type\": \"\",\n      \"post_ticket_sid\": \"65cc6d54300349e984134ecd0faf3ede\",\n      \"receive_datetime\": \"2015-12-15 13:07:28\",\n      \"receiver\": \"Zhang**\",\n      \"receiver_address\": \"Kongjiang Road 1209\",\n      \"receiver_cellphone\": \"1502379****\",\n      \"receiver_title\": \"Mr.\",\n      \"remark\": \"\",\n      \"request_datetime\": \"2015-12-15 13:07:28\",\n      \"show_name\": \"Love Radio Pin Guan Where Are You Now Tour Concert Shanghai Station\",\n      \"show_schedule\": \"2016-01-09 19:30:00\",\n      \"show_schedule_sid\": \"eecfd0657fb445a7a36abedc9b621c89\",\n      \"show_sid\": \"52f30bbce4ef4122919cbc95c2f01c36\",\n      \"sid\": \"21bc3cc65e9e47af952c1f4f1f0fd85a\",\n      \"state_desp\": \"Closed\",\n      \"ticket_price\": 88000,\n      \"ticket_quantity\": 1,\n      \"ticket_sid\": \"c4583aa8a79a478e8e5cd14691028430\",\n      \"total_price\": 2300,\n      \"trade_type\": \"EXPRESS\",\n      \"user_cellphone\": \"1502379****\",\n      \"user_leave_message\": \"\",\n      \"user_sid\": \"a19cf6e3586143d283dd4128c456bfaf\",\n      \"venue_address\": \"No. 777 Wuyi Road, Changning District, Shanghai\",\n      \"venue_name\": \"Shanghai International Gymnastics Center\"\n    }\n  },\n  \"test_from_list\": [\n    {\n      \"test_key\": \"testValue\"\n    }\n  ],\n  \"extra_data\": [],\n  \"message\": \"\",\n  \"success\": true,\n  \"int_list\": [\n    1,\n    2,\n    3\n  ],\n  \"bool_list\": [\n    true,\n    false,\n    true,\n    true\n  ],\n  \"double_list\": [\n    0.324542354353425342436764765746575473434564564564564,\n    1.100000000000000088817841970012523233890533447265625,\n    2.20000000000000017763568394002504646778106689453125,\n    3.29999999999999982236431605997495353221893310546875\n  ],\n  \"empty_list\": [],\n  \"null_list\": [\n    null\n  ],\n  \"null_obj\": null\n}\n```\nDart (named **new_model.dart**):\n```dart\nimport 'package:freezed_annotation/freezed_annotation.dart';\n\npart 'standard_model.freezed.dart';\npart 'standard_model.g.dart';\n\n@freezed\nclass StandardModel with _$StandardModel {\n  const factory StandardModel({\n    @JsonKey(name: 'code') String? code,\n    @JsonKey(name: 'data') Data? data,\n    @JsonKey(name: 'test_from_list') List\u003cTestFromList\u003e? testFromList,\n    @JsonKey(name: 'extra_data') List\u003cdynamic\u003e? extraData,\n    @JsonKey(name: 'message') String? message,\n    @JsonKey(name: 'success') bool? success,\n    @JsonKey(name: 'int_list') List\u003cint\u003e? intList,\n    @JsonKey(name: 'bool_list') List\u003cbool\u003e? boolList,\n    @JsonKey(name: 'double_list') List\u003cdouble\u003e? doubleList,\n    @JsonKey(name: 'empty_list') List\u003cdynamic\u003e? emptyList,\n    @JsonKey(name: 'null_list') List\u003cdynamic\u003e? nullList,\n    @JsonKey(name: 'null_obj') dynamic nullObj,\n  }) = _StandardModel;\n\n  factory StandardModel.fromJson(Map\u003cString, Object?\u003e json) =\u003e _$StandardModelFromJson(json);\n}\n\n@freezed\nclass TestFromList with _$TestFromList {\n  const factory TestFromList({\n    @JsonKey(name: 'test_key') String? testKey,\n  }) = _TestFromList;\n\n  factory TestFromList.fromJson(Map\u003cString, Object?\u003e json) =\u003e _$TestFromListFromJson(json);\n}\n\n@freezed\nclass Data with _$Data {\n  const factory Data({\n    @JsonKey(name: 'test_field') String? testField,\n    @JsonKey(name: 'facetoface_address') FacetofaceAddress? facetofaceAddress,\n    @JsonKey(name: 'order') Order? order,\n  }) = _Data;\n\n  factory Data.fromJson(Map\u003cString, Object?\u003e json) =\u003e _$DataFromJson(json);\n}\n\n@freezed\nclass Order with _$Order {\n  const factory Order({\n    @JsonKey(name: 'bidding') int? bidding,\n    @JsonKey(name: 'broker_avatar') String? brokerAvatar,\n    @JsonKey(name: 'broker_cellphone') String? brokerCellphone,\n    @JsonKey(name: 'broker_deal_num') int? brokerDealNum,\n    @JsonKey(name: 'broker_name') String? brokerName,\n    @JsonKey(name: 'broker_sid') String? brokerSid,\n    @JsonKey(name: 'broker_stars') double? brokerStars,\n    @JsonKey(name: 'code') String? code,\n    @JsonKey(name: 'cover') String? cover,\n    @JsonKey(name: 'created_datetime') String? createdDatetime,\n    @JsonKey(name: 'delivery_address_sid') String? deliveryAddressSid,\n    @JsonKey(name: 'delivery_fee') int? deliveryFee,\n    @JsonKey(name: 'evaluate_starts') int? evaluateStarts,\n    @JsonKey(name: 'is_delete') bool? isDelete,\n    @JsonKey(name: 'is_sequential') bool? isSequential,\n    @JsonKey(name: 'order_status') String? orderStatus,\n    @JsonKey(name: 'order_status_array') List\u003cOrderStatusArray\u003e? orderStatusArray,\n    @JsonKey(name: 'order_status_desp') String? orderStatusDesp,\n    @JsonKey(name: 'order_type') String? orderType,\n    @JsonKey(name: 'pay_type') String? payType,\n    @JsonKey(name: 'post_ticket_sid') String? postTicketSid,\n    @JsonKey(name: 'receive_datetime') String? receiveDatetime,\n    @JsonKey(name: 'receiver') String? receiver,\n    @JsonKey(name: 'receiver_address') String? receiverAddress,\n    @JsonKey(name: 'receiver_cellphone') String? receiverCellphone,\n    @JsonKey(name: 'receiver_title') String? receiverTitle,\n    @JsonKey(name: 'remark') String? remark,\n    @JsonKey(name: 'request_datetime') String? requestDatetime,\n    @JsonKey(name: 'show_name') String? showName,\n    @JsonKey(name: 'show_schedule') String? showSchedule,\n    @JsonKey(name: 'show_schedule_sid') String? showScheduleSid,\n    @JsonKey(name: 'show_sid') String? showSid,\n    @JsonKey(name: 'sid') String? sid,\n    @JsonKey(name: 'state_desp') String? stateDesp,\n    @JsonKey(name: 'ticket_price') int? ticketPrice,\n    @JsonKey(name: 'ticket_quantity') int? ticketQuantity,\n    @JsonKey(name: 'ticket_sid') String? ticketSid,\n    @JsonKey(name: 'total_price') int? totalPrice,\n    @JsonKey(name: 'trade_type') String? tradeType,\n    @JsonKey(name: 'user_cellphone') String? userCellphone,\n    @JsonKey(name: 'user_leave_message') String? userLeaveMessage,\n    @JsonKey(name: 'user_sid') String? userSid,\n    @JsonKey(name: 'venue_address') String? venueAddress,\n    @JsonKey(name: 'venue_name') String? venueName,\n  }) = _Order;\n\n  factory Order.fromJson(Map\u003cString, Object?\u003e json) =\u003e _$OrderFromJson(json);\n}\n\n@freezed\nclass OrderStatusArray with _$OrderStatusArray {\n  const factory OrderStatusArray({\n    @JsonKey(name: 'operate_datetime') String? operateDatetime,\n    @JsonKey(name: 'operate_user_sid') String? operateUserSid,\n    @JsonKey(name: 'operate_username') String? operateUsername,\n    @JsonKey(name: 'order_sid') String? orderSid,\n    @JsonKey(name: 'order_type') String? orderType,\n    @JsonKey(name: 'sid') String? sid,\n    @JsonKey(name: 'state') String? state,\n  }) = _OrderStatusArray;\n\n  factory OrderStatusArray.fromJson(Map\u003cString, Object?\u003e json) =\u003e _$OrderStatusArrayFromJson(json);\n}\n\n@freezed\nclass FacetofaceAddress with _$FacetofaceAddress {\n  const factory FacetofaceAddress({\n    @JsonKey(name: 'address') String? address,\n    @JsonKey(name: 'receiver') String? receiver,\n    @JsonKey(name: 'receiver_cellphone') String? receiverCellphone,\n    @JsonKey(name: 'sid') String? sid,\n    @JsonKey(name: 'sort_number') int? sortNumber,\n    @JsonKey(name: 'title') String? title,\n    @JsonKey(name: 'type') String? type,\n    @JsonKey(name: 'user_sid') String? userSid,\n  }) = _FacetofaceAddress;\n\n  factory FacetofaceAddress.fromJson(Map\u003cString, Object?\u003e json) =\u003e _$FacetofaceAddressFromJson(json);\n}\n```\nYou can generate [@Default](https://pub.dev/packages/freezed#default-values), enable in Settings\n\n![settings](/screenshots/settings.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustprodev%2Fjson-to-freezed-intellij","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustprodev%2Fjson-to-freezed-intellij","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustprodev%2Fjson-to-freezed-intellij/lists"}