JSONParser is a versatile solution for parsing and manipulating JSON data written in two distinct programming paradigms: Prolog and Lisp. The project's primary objective is to provide the functionality required to work with JSON data efficiently. It supports parsing JSON strings, reading and writing JSON files, constructing data structures that represent JSON objects, retrieving specific values from JSON objects, and handling incorrect JSON syntax.
JSONParser offers the following key features:
- JSON String Parsing: The program can parse JSON strings, converting them into structured data representations.
- File I/O: It provides functionality to read JSON data from files and write JSON data back to disk.
- Data Structure Construction: JSONParser can create data structures that accurately represent JSON objects and arrays.
- Value Retrieval: It enables users to retrieve specific values from a JSON object using user-defined criteria.
- Error Handling: The program is equipped to identify and report errors in the JSON syntax, ensuring robust data processing.
To get started with JSONParser, explore the detailed instructions based on your preferred programming language. The project is implemented in both Prolog and Lisp, and you can find comprehensive guides in the respective "Lisp" and "Prolog" folders. Each folder contains README files that explain how to use the program in your chosen programming environment. Feel free to choose the programming language that suits your needs and explore the respective README files for a more in-depth understanding of JSONParser's capabilities and usage.
If you want to use JSONParser in LISP, navigate to the "Lisp" folder for detailed instructions on setting up and using the program in this environment.
For those interested in the Prolog version of JSONParser, please refer to the "Prolog" folder's README file, which provides insights into how to utilize the program within the Prolog ecosystem.
Please note that this project is provided for educational and informational purposes only. As this project was developed as part of the "Linguaggi di Programmazione" course at the Università degli Studi di Milano Bicocca, it is not intended to be copied or used in any way that would violate academic integrity or intellectual property rights.