XmlJson.AwsApi (XmlJson v0.4.1) View Source
An AWS implementation of XML <=> JSON
Based on various conventions encountered in AWS XML-based APIs
Link to this section Summary
Functions
Deserializes the given XML string.
Serializes the given Map.
Serializes the given Map as a set request parameters.
Link to this section Types
Specs
Link to this section Functions
Specs
deserialize(binary(), aws_api_options()) :: {:ok, map()} | {:error, term()}
Deserializes the given XML string.
Returns an :ok
tuple with the XML deserialized to a Map
Examples
iex> XmlJson.AwsApi.deserialize("<alice>bob</alice>")
{:ok, %{"alice" => "bob"}}
iex> XmlJson.AwsApi.deserialize("<alice><member>bob</member></alice>")
{:ok, %{"alice" => ["bob"]}}
Specs
deserialize!(binary(), aws_api_options()) :: map()
Specs
serialize(map(), aws_api_options()) :: {:ok, binary()} | {:error, term()}
Serializes the given Map.
Returns an :ok
tuple with a Map serialized to XML
Examples
iex> XmlJson.AwsApi.serialize(%{"alice" => "bob"})
{:ok, "<alice>bob</alice>"}
iex> XmlJson.AwsApi.serialize(%{"alice" => ["bob", "jane"]})
{:ok, "<alice><member>bob</member><member>jane</member></alice>"}
iex> XmlJson.AwsApi.serialize(%{"alice" => [%{"name" => "bob"}, %{"name" => "jane"}]}, list_element_names: [""])
{:ok, "<alice><name>bob</name><name>jane</name></alice>"}
Specs
serialize!(map(), aws_api_options()) :: binary()
Specs
serialize_as_params(map(), aws_api_options()) :: {:ok, map()} | {:error, term()}
Serializes the given Map as a set request parameters.
Returns an :ok
tuple with a Map serialized to a flattened Map
Examples
iex> XmlJson.AwsApi.serialize_as_params(%{"alice" => "bob"})
{:ok, %{"alice" => "bob"}}
iex> XmlJson.AwsApi.serialize_as_params(%{"alice" => ["bob", "jane"]})
{:ok, %{"alice.member.1" => "bob", "alice.member.2" => "jane"}}
iex> XmlJson.AwsApi.serialize_as_params(%{"alice" => ["bob", "jane"]}, list_element_names: [""])
{:ok, %{"alice.1" => "bob", "alice.2" => "jane"}}
Specs
serialize_as_params!(map(), aws_api_options()) :: map()