今日のトピックは「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→オブジェクト) |
---|---|---|
Python | json.dumps(data, ensure_ascii=False) | json.loads(json_string) |
C# | JsonConvert.SerializeObject(data) | JsonConvert.DeserializeObject(jsonString) |
C++ | nlohmann::json::dump() | nlohmann::json::parse(jsonString) |
Java | gson.toJson(data) | gson.fromJson(jsonString, Class) |
JavaScript | JSON.stringify(data) | JSON.parse(jsonString) |
まとめ
今日は、JSONフォーマットの操作方法について学びました。JSONは、データを簡単に保存・交換できる非常に便利なフォーマットです。JSONデータを適切に操作することで、アプリケーション間のデータ通信や設定管理がより容易になります。
次回は、より高度なJSON操作や、複雑なJSONデータの管理方法について学びましょう。
コメント