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 fs = require('fs');
const x = JSON.parse(fs.readFileSync('./data.json'));
const x = require('./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