How to parse JSON in Rust

Fri, Sep 16, 2016

Read in 1 minutes

To parse json in Rust you need a library. The one used here is called rustc-serialize.

The first step is to create a new project.

cargo new test_json
cd !$

And then include the dependency in the Cargo.toml file.

[package]
name = "test_json"
version = "0.1.0"
authors = ["Claus Witt <claus@wittnezz.dk>"]

[dependencies]
rustc-serialize = "0.3"

Next we will create a json file to parse.

{
  "Person": {
    "Name": "Claus Witt"
  }
}

Finally we create a main.rs file.

extern crate rustc_serialize;
use rustc_serialize::json::Json;
use std::fs::File;
use std::io::Read;

fn main() {
    let mut file = File::open("test.json").unwrap();
    let mut data = String::new();
    file.read_to_string(&mut data).unwrap();

    let json = Json::from_str(&data).unwrap();
    println!("{}", json.find_path(&["Person", "Name"]).unwrap());
}

First we link our file with the dependency. Next we “use” the external library objects we need.

In the main method we open the file, and read its data into a string, and finallyy using Json::from_str parse the json. We use unwrap to tell the rust runtime that we want the value, or exit the program.

Last, but not least, we print the content of the path Person.Name

See Also

How to parse JSON in C++

Fri, Sep 16, 2016

Read more →

How to parse JSON in GO

Sat, Sep 10, 2016

Read more →

How to parse JSON in Elixir

Tue, Sep 6, 2016

Read more →

How to Parse Json in Ruby

Thu, Sep 10, 2015

Read more →

How to Parse Json in JavaScript

Tue, Sep 8, 2015

Read more →