Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #91 Load JSON file into object

Read from the file data.json and write its content into the object x.
Assume the JSON data is suitable for the type of x.

const x = require('./data.json');
const fs = require('fs');
const x = JSON.parse(fs.readFileSync('./data.json'));
(require '[clojure.java.io :refer [file]])
(require '[jsonista.core :refer [read-value]])
(def x (read-value (file "data.json")))
using System.IO;
using Newtonsoft.Json.Linq;
JObject x = JObject.Parse(File.ReadAllText("data.json"));
import std.file: readText;
import std.json: parseJSon;
JSONValue x = "data.json".readText.parseJSON;

struct User {
    int age;
    string name;

    this(JSONValue user) {
        age  = user["age"];
        name = user["name"];
    }
}

auto user = User(x);
import 'dart:io' show File;
import 'dart:convert' show json;
Map x = json.jsonDecode(await new File('data.json').readAsString());
import 'dart:io' show File;
import 'dart:convert' show json;
Map x = json.jsonDecode(new File('data.json').readAsStringSync());
defmodule JsonTest do
  def get_json(filename) do
    with {:ok, body} <- File.read(filename),
         {:ok, json} <- Poison.decode(body), do: {:ok, json}
  end
end

x = JsonTest.get_json("data.json")
import "encoding/json"
r, err := os.Open(filename)
if err != nil {
	return err
}
decoder := json.NewDecoder(r)
err = decoder.Decode(&x)
if err != nil {
	return err
}
import "encoding/json"
import "os"
buffer, err := os.ReadFile("data.json")
if err != nil {
	return err
}
err = json.Unmarshal(buffer, &x)
if err != nil {
	return err
}
cjson = require("cjson")
file = io.open("data.json")
x = cjson.decode(file:read("a"))
file:close()
$x = json_decode(file_get_contents('data.json'));
use File::Slurp;
use JSON;
my $str = read_file('data.json');
my $x = decode_json($str);
import json
with open("data.json", "r") as input:
    x = json.load(input)
require 'json'
x = JSON.parse(File.read('data.json'))
#[macro_use] extern crate serde_derive;
extern crate serde_json;
use std::fs::File;
let x = ::serde_json::from_reader(File::open("data.json")?)?;

New implementation...
< >
programming-idioms.org