{"id":15497271,"url":"https://github.com/jwerle/kotlin-parson-bindings","last_synced_at":"2026-05-08T00:32:21.927Z","repository":{"id":148540518,"uuid":"175249288","full_name":"jwerle/kotlin-parson-bindings","owner":"jwerle","description":"Kotlin/Native bindings for parson, a JSON C library","archived":false,"fork":false,"pushed_at":"2019-03-12T17:12:31.000Z","size":23,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-28T17:22:16.015Z","etag":null,"topics":["bindings","json","konanc","kotlin","native","parser","parson","stringify"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/jwerle.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2019-03-12T16:02:24.000Z","updated_at":"2019-09-19T03:39:07.000Z","dependencies_parsed_at":"2023-05-20T11:15:40.469Z","dependency_job_id":null,"html_url":"https://github.com/jwerle/kotlin-parson-bindings","commit_stats":{"total_commits":8,"total_committers":2,"mean_commits":4.0,"dds":0.25,"last_synced_commit":"862eadfb2d4ebe236ce6e312d5964f38d88cb1ea"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jwerle/kotlin-parson-bindings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwerle%2Fkotlin-parson-bindings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwerle%2Fkotlin-parson-bindings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwerle%2Fkotlin-parson-bindings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwerle%2Fkotlin-parson-bindings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwerle","download_url":"https://codeload.github.com/jwerle/kotlin-parson-bindings/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwerle%2Fkotlin-parson-bindings/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266405362,"owners_count":23923535,"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","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bindings","json","konanc","kotlin","native","parser","parson","stringify"],"created_at":"2024-10-02T08:32:27.503Z","updated_at":"2026-05-08T00:32:16.904Z","avatar_url":"https://github.com/jwerle.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"kotlin-parson-bindings\n======================\n\nKotlin/Native bindings for [parson](https://github.com/kgabis/parson/), a JSON C library\n\n## Installation\n\n```sh\n$ npm install kotlin-parson-bindings\n```\n\n## Linking\n\nUse directly with [konanc-config](https://github.com/konanc-config/konanc-config)\n\n```sh\n$ konanc main.kt -p program -o main.kexe $(konanc-config --repos --libs kotlin-parson-bindings)\n```\n\nor add to a `lib.kc` file\n\n```ini\nrequire[] = \"kotlin-parson-bindings\"\n```\n\n## Example\n\n```kotlin\nimport parson.json_object_get_string\nimport parson.json_parse_string\nimport parson.json_object\n\nimport kotlinx.cinterop.toKString\n\nfun main(argv: Array\u003cString\u003e) {\n  val root = json_parse_string(\"\"\"{\"key\": \"value\"}\"\"\")\n  val value = json_object_get_string(json_object(root), \"key\")\n  println(value) // value\n}\n```\n\n## API\n\nGenerated from [parson.h](deps/parson/parson.h) with\n[cinterop](https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md).\n\n```kotlin\ntypealias json_value_typeVar = IntVarOf\u003cjson_value_type\u003e\ntypealias json_value_type = Int\n\nval JSONError: json_value_type get() = -1\nval JSONNull: json_value_type get() = 1\nval JSONString: json_value_type get() = 2\nval JSONNumber: json_value_type get() = 3\nval JSONObject: json_value_type get() = 4\nval JSONArray: json_value_type get() = 5\nval JSONBoolean: json_value_type get() = 6\n\ntypealias json_result_tVar = IntVarOf\u003cjson_result_t\u003e\ntypealias json_result_t = Int\n\nval JSONSuccess: json_result_t get() = 0\nval JSONFailure: json_result_t get() = -1\n\ntypealias JSON_Object = json_object_t\n\ntypealias JSON_Array = json_array_t\n\ntypealias JSON_Value = json_value_t\n\ntypealias JSON_Value_TypeVar = IntVarOf\u003cJSON_Value_Type\u003e\ntypealias JSON_Value_Type = Int\n\ntypealias JSON_StatusVar = IntVarOf\u003cJSON_Status\u003e\ntypealias JSON_Status = Int\n\ntypealias JSON_Malloc_FunctionVar = CPointerVarOf\u003cJSON_Malloc_Function\u003e\ntypealias JSON_Malloc_Function = CPointer\u003cCFunction\u003c(size_t) -\u003e COpaquePointer?\u003e\u003e\n\ntypealias JSON_Free_FunctionVar = CPointerVarOf\u003cJSON_Free_Function\u003e\ntypealias JSON_Free_Function = CPointer\u003cCFunction\u003c(COpaquePointer?) -\u003e Unit\u003e\u003e\n\nfun json_set_allocation_functions(malloc_fun: JSON_Malloc_Function?, free_fun: JSON_Free_Function?): Unit\nfun json_parse_file(filename: String?): CPointer\u003cJSON_Value\u003e?\nfun json_parse_file_with_comments(filename: String?): CPointer\u003cJSON_Value\u003e?\nfun json_parse_string(string: String?): CPointer\u003cJSON_Value\u003e?\nfun json_parse_string_with_comments(string: String?): CPointer\u003cJSON_Value\u003e?\nfun json_serialization_size(value: CValuesRef\u003cJSON_Value\u003e?): size_t\nfun json_serialize_to_buffer(value: CValuesRef\u003cJSON_Value\u003e?, buf: CValuesRef\u003cByteVar\u003e?, buf_size_in_bytes: size_t): JSON_Status\nfun json_serialize_to_file(value: CValuesRef\u003cJSON_Value\u003e?, filename: String?): JSON_Status\nfun json_serialize_to_string(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cByteVar\u003e?\nfun json_serialization_size_pretty(value: CValuesRef\u003cJSON_Value\u003e?): size_t\nfun json_serialize_to_buffer_pretty(value: CValuesRef\u003cJSON_Value\u003e?, buf: CValuesRef\u003cByteVar\u003e?, buf_size_in_bytes: size_t): JSON_Status\nfun json_serialize_to_file_pretty(value: CValuesRef\u003cJSON_Value\u003e?, filename: String?): JSON_Status\nfun json_serialize_to_string_pretty(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cByteVar\u003e?\nfun json_free_serialized_string(string: CValuesRef\u003cByteVar\u003e?): Unit\nfun json_value_equals(a: CValuesRef\u003cJSON_Value\u003e?, b: CValuesRef\u003cJSON_Value\u003e?): Int\nfun json_validate(schema: CValuesRef\u003cJSON_Value\u003e?, value: CValuesRef\u003cJSON_Value\u003e?): JSON_Status\nfun json_object_get_value(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cJSON_Value\u003e?\nfun json_object_get_string(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cByteVar\u003e?\nfun json_object_get_object(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cJSON_Object\u003e?\nfun json_object_get_array(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cJSON_Array\u003e?\nfun json_object_get_number(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): Double\nfun json_object_get_boolean(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): Int\nfun json_object_dotget_value(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cJSON_Value\u003e?\nfun json_object_dotget_string(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cByteVar\u003e?\nfun json_object_dotget_object(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cJSON_Object\u003e?\nfun json_object_dotget_array(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): CPointer\u003cJSON_Array\u003e?\nfun json_object_dotget_number(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): Double\nfun json_object_dotget_boolean(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): Int\nfun json_object_get_count(`object`: CValuesRef\u003cJSON_Object\u003e?): size_t\nfun json_object_get_name(`object`: CValuesRef\u003cJSON_Object\u003e?, index: size_t): CPointer\u003cByteVar\u003e?\nfun json_object_set_value(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, value: CValuesRef\u003cJSON_Value\u003e?): JSON_Status\nfun json_object_set_string(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, string: String?): JSON_Status\nfun json_object_set_number(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, number: Double): JSON_Status\nfun json_object_set_boolean(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, boolean: Int): JSON_Status\nfun json_object_set_null(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): JSON_Status\nfun json_object_dotset_value(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, value: CValuesRef\u003cJSON_Value\u003e?): JSON_Status\nfun json_object_dotset_string(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, string: String?): JSON_Status\nfun json_object_dotset_number(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, number: Double): JSON_Status\nfun json_object_dotset_boolean(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?, boolean: Int): JSON_Status\nfun json_object_dotset_null(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): JSON_Status\nfun json_object_remove(`object`: CValuesRef\u003cJSON_Object\u003e?, name: String?): JSON_Status\nfun json_object_dotremove(`object`: CValuesRef\u003cJSON_Object\u003e?, key: String?): JSON_Status\nfun json_object_clear(`object`: CValuesRef\u003cJSON_Object\u003e?): JSON_Status\nfun json_array_get_value(array: CValuesRef\u003cJSON_Array\u003e?, index: size_t): CPointer\u003cJSON_Value\u003e?\nfun json_array_get_string(array: CValuesRef\u003cJSON_Array\u003e?, index: size_t): CPointer\u003cByteVar\u003e?\nfun json_array_get_object(array: CValuesRef\u003cJSON_Array\u003e?, index: size_t): CPointer\u003cJSON_Object\u003e?\nfun json_array_get_array(array: CValuesRef\u003cJSON_Array\u003e?, index: size_t): CPointer\u003cJSON_Array\u003e?\nfun json_array_get_number(array: CValuesRef\u003cJSON_Array\u003e?, index: size_t): Double\nfun json_array_get_boolean(array: CValuesRef\u003cJSON_Array\u003e?, index: size_t): Int\nfun json_array_get_count(array: CValuesRef\u003cJSON_Array\u003e?): size_t\nfun json_array_remove(array: CValuesRef\u003cJSON_Array\u003e?, i: size_t): JSON_Status\nfun json_array_replace_value(array: CValuesRef\u003cJSON_Array\u003e?, i: size_t, value: CValuesRef\u003cJSON_Value\u003e?): JSON_Status\nfun json_array_replace_string(array: CValuesRef\u003cJSON_Array\u003e?, i: size_t, string: String?): JSON_Status\nfun json_array_replace_number(array: CValuesRef\u003cJSON_Array\u003e?, i: size_t, number: Double): JSON_Status\nfun json_array_replace_boolean(array: CValuesRef\u003cJSON_Array\u003e?, i: size_t, boolean: Int): JSON_Status\nfun json_array_replace_null(array: CValuesRef\u003cJSON_Array\u003e?, i: size_t): JSON_Status\nfun json_array_clear(array: CValuesRef\u003cJSON_Array\u003e?): JSON_Status\nfun json_array_append_value(array: CValuesRef\u003cJSON_Array\u003e?, value: CValuesRef\u003cJSON_Value\u003e?): JSON_Status\nfun json_array_append_string(array: CValuesRef\u003cJSON_Array\u003e?, string: String?): JSON_Status\nfun json_array_append_number(array: CValuesRef\u003cJSON_Array\u003e?, number: Double): JSON_Status\nfun json_array_append_boolean(array: CValuesRef\u003cJSON_Array\u003e?, boolean: Int): JSON_Status\nfun json_array_append_null(array: CValuesRef\u003cJSON_Array\u003e?): JSON_Status\nfun json_value_init_object(): CPointer\u003cJSON_Value\u003e?\nfun json_value_init_string(string: String?): CPointer\u003cJSON_Value\u003e?\nfun json_value_init_number(number: Double): CPointer\u003cJSON_Value\u003e?\nfun json_value_init_boolean(boolean: Int): CPointer\u003cJSON_Value\u003e?\nfun json_value_init_null(): CPointer\u003cJSON_Value\u003e?\nfun json_value_deep_copy(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cJSON_Value\u003e?\nfun json_value_free(value: CValuesRef\u003cJSON_Value\u003e?): Unit\nfun json_value_get_type(value: CValuesRef\u003cJSON_Value\u003e?): JSON_Value_Type\nfun json_value_get_object(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cJSON_Object\u003e?\nfun json_value_get_array(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cJSON_Array\u003e?\nfun json_value_get_string(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cByteVar\u003e?\nfun json_value_get_number(value: CValuesRef\u003cJSON_Value\u003e?): Double\nfun json_value_get_boolean(value: CValuesRef\u003cJSON_Value\u003e?): Int\nfun json_type(value: CValuesRef\u003cJSON_Value\u003e?): JSON_Value_Type\nfun json_object(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cJSON_Object\u003e?\nfun json_array(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cJSON_Array\u003e?\nfun json_string(value: CValuesRef\u003cJSON_Value\u003e?): CPointer\u003cByteVar\u003e?\nfun json_number(value: CValuesRef\u003cJSON_Value\u003e?): Double\nfun json_boolean(value: CValuesRef\u003cJSON_Value\u003e?): Int\n\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwerle%2Fkotlin-parson-bindings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwerle%2Fkotlin-parson-bindings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwerle%2Fkotlin-parson-bindings/lists"}