schultyy / elixir-json

Native JSON library for Elixir

Home Page:https://hex.pm/packages/json

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Elixir JSON

Build Status

This library provides a natively implemented JSON encoder and decoder for Elixir.

All contributions are welcome.

Installing

Simply add {:json, "~> 0.3.0"} to your project's mix.exs file, in the dependencies list and run mix deps.get json.

Example for a project that already uses Dynamo:

defp deps do
    [ { :cowboy, "~> 1.0.0" },
      { :dynamo, github: "elixir-lang/dynamo" },
      { :json,   "~> 0.3.0"} ]
end

Usage

  JSON.encode([result: "this will be a elixir result"])
  {:ok, "{\"result\":\"this will be a elixir result\"}"}
  JSON.decode("{\"result\":\"this will be a elixir result\"}")
  {:ok, [result: "this will be a elixir result"]}

Dynamo Filter

Elixir JSON includes a convenient filter for the Dynamo web framework.

If you want to use it, simply add Elixir JSON to your project's dependencies, and add the following line to your router:

filter JSON.Dynamo.Filter

Afterwards, to generate JSON responses, simply use conn.put_private and set the :result_object to whatever you want to be converted to JSON:

  get "/whoami" do
    conn.put_private :result_object, [ name: "Carlos", city: "New York", likes: "Programming" ]
  end

License

The Elixir JSON library is available under the BSD 3-Clause aka "BSD New" license

About

Native JSON library for Elixir

https://hex.pm/packages/json

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Elixir 73.2%Language:CSS 16.5%Language:JavaScript 10.4%