serialized 1.13.0
D XML/JSON serialization code generator based on boilerplate
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
serialized
Serialized is a library that automates encoding and decoding of D data types to JSON and XML.
It heavily relies on boilerplate
to extract information about struct/class type layouts; as such
automatic encoding/decoding can only be used with types that have a boilerplate
constructor.
This library forks from Funkwerk's internal Utilities library. Hence while it is extensively tested, it
also contains a moderate amount of legacy code. The important packages for automatic encoding and decoding are
text.xml/json.Encode/Decode
.
Serialized uses dxml
for XML encoding/decoding and stdx_data_json
for JSON encoding/decoding.
Basic usage: XML
import text.xml.Xml;
@(Xml.Element("Root"))
struct Element
{
@(Xml.Attribute("attribute"))
string attribute;
mixin(GenerateThis);
}
...
import text.xml.Decode;
const xmlText = `<Root attribute="Hello World"/>`;
const value = decode!Element(xmlText);
assert(value == Element("Hello World"));
Basic usage: JSON
import text.xml.Xml;
struct Element
{
string attribute;
mixin(GenerateThis);
}
...
import text.json.Decode;
const jsonText = `{ "attribute": "Hello World" }`;
const value = decode!Element(jsonText);
assert(value == Element("Hello World"));
License
This project is made available under the Boost Software License 1.0.
Useful links
- Registered by Mathis Beer
- 1.13.0 released a year ago
- funkwerk-mobility/serialized
- BSL-1.0
- Authors:
- Dependencies:
- boilerplate, dxml, prettyprint, dshould
- Versions:
-
1.16.1 2024-Aug-12 1.16.0 2024-Aug-09 1.15.2 2024-Aug-09 1.15.1 2024-Aug-09 1.15.0 2024-Aug-08 - Download Stats:
-
-
2 downloads today
-
3 downloads this week
-
7 downloads this month
-
570 downloads total
-
- Score:
- 0.2
- Short URL:
- serialized.dub.pm