JSONフォーマットの操作方法

json-format

今日のトピックは「JSONフォーマットの操作方法」です。JSON(JavaScript Object Notation)は、データを構造化して保存・交換するための軽量なフォーマットです。

JSONは、データのやり取りや保存に広く利用されており、特にWeb APIや構成ファイルなどで頻繁に使用されます。

目次

基本概念の説明

JSONフォーマット

JSONフォーマットは、キーと値のペアを使ってデータを表現するテキストベースのデータフォーマットです。シンプルで可読性が高く、さまざまなプログラミング言語でサポートされています。

JSONの操作

JSONの操作には、JSONデータを解析してオブジェクトや配列として扱う「パース(解析)」と、オブジェクトや配列をJSON形式の文字列に変換する「シリアライズ(直列化)」の操作が含まれます。

各言語でのJSONの読み込みと書き込みの実装例

Python:

import json

# オブジェクトをJSON文字列に変換シリアライズ
data = {
    "名前": "山田太郎",
    "年齢": 30,
    "職業": "エンジニア"
}
json_string = json.dumps(data, ensure_ascii=False)
print(json_string)

# JSON文字列をオブジェクトに変換パース
parsed_data = json.loads(json_string)
print(parsed_data)

C#:

using System;
using Newtonsoft.Json; // 必要に応じてNuGetからインストール

class Program
{
    static void Main()
    {
        // オブジェクトをJSON文字列に変換(シリアライズ)
        var data = new
        {
            名前 = "山田太郎",
            年齢 = 30,
            職業 = "エンジニア"
        };
        string jsonString = JsonConvert.SerializeObject(data);
        Console.WriteLine(jsonString);

        // JSON文字列をオブジェクトに変換(パース)
        var parsedData = JsonConvert.DeserializeObject(jsonString);
        Console.WriteLine(parsedData);
    }
}

C++:

#include <iostream>
#include <nlohmann/json.hpp> // 必要に応じてインストール

int main() {
    // オブジェクトをJSON文字列に変換(シリアライズ)
    nlohmann::json data = {
        {"名前", "山田太郎"},
        {"年齢", 30},
        {"職業", "エンジニア"}
    };
    std::string jsonString = data.dump();
    std::cout << jsonString << std::endl;

    // JSON文字列をオブジェクトに変換(パース)
    auto parsedData = nlohmann::json::parse(jsonString);
    std::cout << parsedData["名前"] << std::endl;
}

Java:

import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        Gson gson = new Gson();

        // オブジェクトをJSON文字列に変換(シリアライズ)
        Person data = new Person("山田太郎", 30, "エンジニア");
        String jsonString = gson.toJson(data);
        System.out.println(jsonString);

        // JSON文字列をオブジェクトに変換(パース)
        Person parsedData = gson.fromJson(jsonString, Person.class);
        System.out.println(parsedData.getName());
    }
}

class Person {
    private String 名前;
    private int 年齢;
    private String 職業;

    public Person(String 名前, int 年齢, String 職業) {
        this.名前 = 名前;
        this.年齢 = 年齢;
        this.職業 = 職業;
    }

    public String getName() {
        return 名前;
    }
}

JavaScript:

// オブジェクトをJSON文字列に変換(シリアライズ)
const data = {
    名前: "山田太郎",
    年齢: 30,
    職業: "エンジニア"
};
const jsonString = JSON.stringify(data);
console.log(jsonString);

// JSON文字列をオブジェクトに変換(パース)
const parsedData = JSON.parse(jsonString);
console.log(parsedData);

各言語の解説

言語JSONのシリアライズ(オブジェクト→JSON)JSONのパース(JSON→オブジェクト)
Pythonjson.dumps(data, ensure_ascii=False)json.loads(json_string)
C#JsonConvert.SerializeObject(data)JsonConvert.DeserializeObject(jsonString)
C++nlohmann::json::dump()nlohmann::json::parse(jsonString)
Javagson.toJson(data)gson.fromJson(jsonString, Class)
JavaScriptJSON.stringify(data)JSON.parse(jsonString)

まとめ

今日は、JSONフォーマットの操作方法について学びました。JSONは、データを簡単に保存・交換できる非常に便利なフォーマットです。JSONデータを適切に操作することで、アプリケーション間のデータ通信や設定管理がより容易になります。

次回は、より高度なJSON操作や、複雑なJSONデータの管理方法について学びましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次