icentral-json 0.1.0

A Rust crate facilitating the creation and serialization of JSON structures with two-level named member hierarchies using macros.
Documentation
# icentral-json

## Overview

`icentral-json` is a Rust crate that provides a robust mechanism for constructing JSON hierarchies using labeled two-level member configurations. It utilizes macros for ease of use and implements serialization for transforming complex data structures into JSON strings seamlessly. This crate serves as a utility for developers seeking to manipulate nested data arrangements and transform them efficiently into JSON format, leveraging the powerful capabilities of the Rust macro system.

## Features

- **Macros**: Provides macros such as `allow_twolevel_named_members` and `allow_twolevel_named_member` for creating named JSON structures exhibiting two-level nested hierarchies.
- **Serialization**: Implements serialization via the `serde` crate, allowing for easy conversion of structs into JSON strings with the method `to_json()`.
- **Struct Definition**: Features a core struct `BetweennessJsonBuilder` which encapsulates the address patterns between parent and child nodes, which can be instantiated and processed into JSON.

## Usage

To use this crate, add it as a dependency in your `Cargo.toml`:

```toml
[dependencies]
icentral-json = "0.1.0"
```

### Example

```rust
use icentral_json::{BetweennessJsonBuilder, allow_twolevel_named_members};
use betweenness_json_builder::{ParentAddress, ChildAddress};

// Assuming 'ParentAddress' and 'ChildAddress' are properly defined and deriving Serialize
let parent_address = ParentAddress::new("parent_address_example");
let child_address = ChildAddress::new("child_address_example");

let json_builder = BetweennessJsonBuilder::new(parent_address, child_address);
let json_representation = json_builder.to_json();
println!("{}", json_representation);
```

## License

`icentral-json` is distributed under the MIT License. See [LICENSE](LICENSE) for more information.

---

*This README.md file was generated by an AI model and may not be 100% accurate; however, it should be pretty good.*

This crate is in the process of being translated from c++ to rust. Currently, it still needs exhaustive testing.  It is likely there currently exist many glitches which need to be fixed before proper usage. This crate is based on the original icentral program developed by Fuad Jamor. Please see the following repository for details: https://github.com/fjamour/icentral.

For progress updates, see the workspacer rust project.