{"id":18427131,"url":"https://github.com/nowisesys/libfoa","last_synced_at":"2025-04-13T19:38:42.541Z","repository":{"id":141471825,"uuid":"168076714","full_name":"nowisesys/libfoa","owner":"nowisesys","description":"C library implementing the FOA (Fast Object and Array) encoding/decoding specification.","archived":false,"fork":false,"pushed_at":"2019-01-29T03:48:45.000Z","size":901,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-16T08:27:30.221Z","etag":null,"topics":["c-library","encoder-decoder","foa"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nowisesys.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-29T02:42:23.000Z","updated_at":"2019-01-29T03:48:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"42538ed1-6729-4122-9eb5-d701f4105ba5","html_url":"https://github.com/nowisesys/libfoa","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nowisesys%2Flibfoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nowisesys%2Flibfoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nowisesys%2Flibfoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nowisesys%2Flibfoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nowisesys","download_url":"https://codeload.github.com/nowisesys/libfoa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248769383,"owners_count":21158808,"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":["c-library","encoder-decoder","foa"],"created_at":"2024-11-06T05:09:44.163Z","updated_at":"2025-04-13T19:38:42.533Z","avatar_url":"https://github.com/nowisesys.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"** LIBFOA - Fast Object and Array encoding/decoding library **\n\n** GENERAL:\n\n   This is a library implementing the FOA encoding/decoding method. FOA was\n   primarly designed to be used as an alternative to XML for data exchange \n   between i.e. web services.\n   \n   Other domains are network protocol using FOA for encode/decode object\n   oriented messages or serializing objects to storage (letting you write\n   objects in i.e. C/C++ and read them back in Java).\n   \n   It can also be useful as an generic encoding format, like JSON. FOA has an\n   design that makes it useful for object/array streaming.\n\n** SPECIFICATION:\n\n   The official FOA specification can be read at: \n   http://it.bmc.uu.se/andlov/proj/libfoa/spec.php\n   \n** LICENSE:\n\n   The FOA library is released under the Lesser GNU General Public License\n   (LGPL). That means you are allowed to use it in commercial applications.    \n   However, as a free software developer I encourage you to release your \n   software under GPL or similar licenses.\n\n** DESIGN:\n\n   The FOA encoding/decoding was primarly designed for efficient transfer of\n   objects and arrays between networked computers. It will never use more \n   memory than required by you longest single line of data to decode, so its\n   memory footprint is small.\n\n** VALIDATION:\n\n   At current the library will *not* perform any validation except for some\n   simple checks. If you want validation, use foa_scan() or foa_next() to\n   implement you own lexical analyzer.\n   \n** ENCODING/DECODING:\n\n   The characters '(', ')', '[' and ']' are special to FOA. These are used\n   to denote the start and end of encoded object and arrays. See doc/README.FOA \n   for more information. \n   \n   The assignment '=' character is another special char that is used to name\n   data, objects and arrays. By using '=' to name your data, it's possible to\n   encode a wide range of data structures, including hashes (Perl) or hash\n   arrays (PHP).\n   \n   By naming an object or array at encoding, it's possible to tell the receiver \n   the type of object to decode as. This can be really useful when implementing\n   network protocols.\n   \n// Anders Lövgren, 2009-03-15\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnowisesys%2Flibfoa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnowisesys%2Flibfoa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnowisesys%2Flibfoa/lists"}