serialized 1.11.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.11.0 released 8 months ago
- funkwerk-mobility/serialized
- BSL-1.0
- Authors:
- Dependencies:
- boilerplate, dxml, prettyprint, dshould
- Versions:
-
1.13.6 2023-Nov-09 1.13.5 2023-Oct-23 1.13.4 2023-Oct-20 1.13.3 2023-Oct-20 1.13.2 2023-Oct-20 - Download Stats:
-
-
0 downloads today
-
2 downloads this week
-
4 downloads this month
-
517 downloads total
-
- Score:
- 0.1
- Short URL:
- serialized.dub.pm