{

Nim example - Convert JSOn to/from the object


This tutorial shows NIM object and json string object conversion examples

  • $$: to serialize Nim Object to JSOn string.
  • to: deserialize json string to Nim Object

How to convert Nim Object to JSOn

Nim has a marshal module that contains the procedure to serialize and deserialize data from NIM objects. $$ is used to convert Nim Object to JSOn string.

Here is an example

  • Create an Employee object
  • Variable created by adding data using the constructor
  • $$variable returns the JSOn string
import std/marshal

type
  Employee = object
    id: int
    name: string

var emp = Employee(id: 1, name: "john")

echo($$emp)

echo(typeOf($$emp))

Output:

{"id": 1, "name": "john"}

How to Convert JSON string into Nim Object

JSON string is declared with string literal with triple quote syntax. triple quotes are used for declaring long forms of strings.

The marshal module contains a to procedure that converts a string to Nim Object.

Here is an example

import std/marshal


type
  Employee = object
    id: int
    name: string

var emp = Employee(id: 1, name: "john")
let jsonString = """{"id": 1, "name": "eric"}"""
let nimObject = jsonString.to[:Employee]

echo(nimObject)
echo(typeOf(nimObject))

Output:

(id: 1, name: "eric")
Employee
THE BEST NEWSLETTER ANYWHERE
Join 6,000 subscribers and get a daily digest of full stack tutorials delivered to your inbox directly.No spam ever. Unsubscribe any time.

Similar Posts
Subscribe
You'll get a notification every time a post gets published here.