Elixir:
JSON과 함께 일하기

방법:

Elixir에서는 JSON 파싱과 생성을 위한 인기 있는 선택인 Jason 라이브러리를 사용할 수 있습니다. 먼저 mix.exs에서 프로젝트의 의존성에 Jason을 추가합니다:

defp deps do
  [
    {:jason, "~> 1.3"}
  ]
end

그 다음, 의존성을 가져오기 위해 mix deps.get을 실행합니다.

JSON 파싱:

JSON 문자열을 Elixir 데이터 구조로 변환하려면:

json_string = "{\"name\":\"John\", \"age\":30}"
{:ok, person} = Jason.decode(json_string)
IO.inspect(person)
# 출력: %{"name" => "John", "age" => 30}

JSON 생성:

Elixir 맵을 JSON 문자열로 변환하려면:

person_map = %{"name" => "Jane", "age" => 25}
{:ok, json_string} = Jason.encode(person_map)
IO.puts(json_string)
# 출력: {"age":25,"name":"Jane"}

구조체와 함께 작업하기:

Elixir 구조체를 인코드하려면, 구조체에 대해 Jason.Encoder 프로토콜을 구현해야 합니다. 다음은 예시입니다:

defmodule Person do
  @derive {Jason.Encoder, only: [:name, :age]}
  defstruct name: nil, age: nil
end

person_struct = %Person{name: "Mike", age: 28}
{:ok, json_string} = Jason.encode(person_struct)
IO.puts(json_string)
# 출력: {"age":28,"name":"Mike"}

이 간단한 접근 방식은 여러 프로그래밍 환경에서의 데이터 교환을 용이하게 하는 Elixir 애플리케이션에 JSON 처리를 통합하는 데 시작점이 될 것입니다.