-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7ac099e
commit 0221662
Showing
13 changed files
with
3,189 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
cmake_minimum_required(VERSION 3.24) | ||
project(JoSon) | ||
|
||
# Add your source files | ||
set(SOURCE_FILES src/Doc.cpp src/Viso.cpp src/Joson.cpp) | ||
|
||
# Create a dynamic library from the source files | ||
add_library(JoSon SHARED ${SOURCE_FILES}) | ||
|
||
# Specify the include directories | ||
target_include_directories(JoSon PUBLIC /include/JoSon) | ||
|
||
set(DLL_DIR ${CMAKE_SOURCE_DIR}/lib) | ||
|
||
set(DLL_FILES libJoSon.dll) | ||
|
||
set(DEST_DIR ${CMAKE_BINARY_DIR}) | ||
|
||
foreach (DLL_FILE ${DLL_FILES}) | ||
add_custom_command(TARGET JoSon POST_BUILD | ||
COMMAND ${CMAKE_COMMAND} -E copy_if_different | ||
"${DLL_DIR}/${DLL_FILE}" | ||
"${DEST_DIR}") | ||
endforeach () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
# JoSon - Lightweight JSON Processing Library for C++ | ||
|
||
JoSon is a lightweight and user-friendly JSON processing library for C++, | ||
designed with simplicity and ease of use in mind. It offers intuitive interfaces for creating, | ||
manipulating, and visualizing structured data in JSON format. | ||
|
||
## Project Structure | ||
|
||
```markdown | ||
JoSonLib | ||
│ | ||
├── include | ||
│ └── JoSon | ||
│ ├── Joson.h | ||
│ ├── Viso.h | ||
│ └── Doc.h | ||
│ | ||
├── src | ||
│ ├── Joson.cpp | ||
│ ├── Viso.cpp | ||
│ └── Doc.cpp | ||
│ | ||
├── lib | ||
│ └── (DLL files) | ||
│ | ||
├── CMakeLists.txt | ||
│ | ||
├── README.md | ||
│ | ||
└── docs | ||
├── JoSon_API_Reference_Documentation.md | ||
└── JoSon_Library_Documentation.md | ||
``` | ||
|
||
The project structure organizes source code, libraries, and documentation under a cohesive hierarchy. | ||
|
||
## Documentation | ||
|
||
Detailed library documentation is available in two parts: | ||
|
||
- **Library Overview**: | ||
|
||
The JoSon library overview and usage instructions can be found in [JoSon_Library_Documentation.md](docs/JoSon_Library_Documentation.md). | ||
|
||
- **API Reference**: | ||
|
||
For detailed API documentation, refer to [JoSon_API_Reference_Documentation.md](docs/JoSon_API_Reference_Documentation.md). | ||
|
||
## Security Policy | ||
|
||
For information on reporting security vulnerabilities and our security policy, please refer to [SECURITY.md](SECURITY.md). | ||
|
||
## Key Features | ||
|
||
- **Pythonic Syntax**: | ||
|
||
Simplifies JSON data manipulation tasks with an intuitive Pythonic writing style. | ||
|
||
- **Extended Data Types**: | ||
|
||
Supports various data types such as tuples, characters, and extended precision floating-point numbers. | ||
|
||
- **ArrayList Implementation**: | ||
|
||
Provides Last-In-First-Out (LIFO) behavior for efficient array manipulation. | ||
|
||
- **Unordered Map for Maps**: | ||
|
||
Uses unordered maps to ensure unique key-value associations. | ||
|
||
- **Interconversion**: | ||
|
||
Allows easy conversion between tuples and ArrayLists for flexible data manipulation. | ||
|
||
- **Efficient Reading**: | ||
|
||
Offers fast JSON file reading capabilities for complex data structures. | ||
|
||
- **STL Integration**: | ||
|
||
Seamlessly integrates with the C++ Standard Template Library (STL) for easy usage. | ||
|
||
- **User-Friendly**: | ||
|
||
Utilizes standard C++ types like std::string and std::ostream for enhanced user-friendliness. | ||
|
||
- **Visualization Options**: | ||
|
||
Provides options for progress bar display and colorful JSON printing. | ||
|
||
- **Efficient Performance**: | ||
|
||
Demonstrates impressive parsing speeds for handling large JSON files. | ||
|
||
## About the Author | ||
|
||
**JeongHan-Bae** is the mastermind behind the JoSon library. | ||
With a passion for creating efficient and user-friendly solutions, JeongHan-Bae has dedicated countless hours to crafting JoSon, aiming to simplify JSON processing tasks for developers worldwide. | ||
|
||
## About the Name "JoSon" | ||
|
||
The name "JoSon" is a combination of "JoSeon" and "JSON." "JoSeon" represents Korea, reflecting the ethnic Korean heritage of the author, JeongHan-Bae. | ||
By blending "JoSeon" with "JSON," the widely-used data interchange format, the name "JoSon" pays homage to both Korean culture and the JSON standard. | ||
|
||
## License | ||
|
||
This project is licensed under the [MIT License](LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Security Policy | ||
|
||
## Supported Versions | ||
|
||
| Version | Supported | | ||
|---------|-----------| | ||
| 1.0 | ✅ | | ||
|
||
## Reporting a Vulnerability | ||
|
||
If you discover a security vulnerability, please contact JeongHan-Bae on [GitHub](https://github.com/JeongHan-Bae) or via email at mastropseudo@gmail.com. | ||
|
||
Please provide details about the vulnerability and refrain from posting it publicly. You can expect to receive an acknowledgment within 48 hours. We will work to confirm the vulnerability, determine its impact, and provide regular updates on its status. | ||
|
||
If the vulnerability is accepted, we will prioritize addressing it in the next appropriate release. If declined, we will provide reasons for the decision. | ||
|
||
Thank you for helping keep our project secure! | ||
|
Oops, something went wrong.