JSONには2つの基本構造があります:
{}
で囲まれた部分"名前": 値
の形式で記述,
で区切る[]
で囲まれた部分,
で区切る{
"名前": "山田太郎",
"年齢": 30,
"住所": {
"都道府県": "東京都",
"市区町村": "新宿区"
},
"趣味": ["読書", "映画鑑賞", "旅行"]
}
"
で囲む)true
または false
)null
{}
)[]
)// JSON文字列
const jsonString = '{"名前":"山田太郎","年齢":30,"趣味":["読書","映画鑑賞"]}';
// JSON文字列をJavaScriptオブジェクトに変換
const person = JSON.parse(jsonString);
// オブジェクトのプロパティにアクセス
console.log(person.名前); // "山田太郎"
console.log(person.趣味[0]); // "読書"
const person = {
"名前": "山田太郎",
"年齢": 30,
"趣味": ["読書", "映画鑑賞"]
};
// JavaScriptオブジェクトをJSON文字列に変換
const jsonString = JSON.stringify(person);
console.log(jsonString);
// {"名前":"山田太郎","年齢":30,"趣味":["読書","映画鑑賞"]}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSON表示例</title>
</head>
<body>
<h1>ユーザー情報</h1>
<div id="user-info"></div>
<script>
// JSONデータ(通常はサーバーやAPIから取得)
const jsonData = `{
"ユーザー": [
{
"id": 1,
"名前": "山田太郎",
"メール": "yamada@example.com"
},
{
"id": 2,
"名前": "鈴木花子",
"メール": "suzuki@example.com"
}
]
}`;
// JSONをパース
const data = JSON.parse(jsonData);
// HTMLに表示
const userInfoDiv = document.getElementById("user-info");
let html = "<ul>";
data.ユーザー.forEach(user => {
html += `<li>ID: ${user.id}, 名前: ${user.名前}, メール: ${user.メール}</li>`;
});
html += "</ul>";
userInfoDiv.innerHTML = html;
</script>
</body>
</html>
// Fetch APIを使ってデータを取得
fetch('https://api.example.com/data')
.then(response => {
// レスポンスをJSONとして解析
return response.json();
})
.then(data => {
// 取得したデータを使って何かする
console.log(data);
displayData(data);
})
.catch(error => {
console.error('データの取得に失敗しました:', error);
});
// データ表示関数
function displayData(data) {
const outputDiv = document.getElementById('output');
// データを表示するロジック
}
// JSONファイルをAjaxで読み込む基本的な例
$(document).ready(function() {
$.ajax({
url: "data/users.json",
dataType: "json",
success: function(data) {
// 成功時の処理
let html = "<ul>";
// JSONデータを反復処理して表示
$.each(data.users, function(index, user) {
html += `<li>${user.name} (${user.email})</li>`;
});
html += "</ul>";
$("#user-list").html(html);
},
error: function(xhr, status, error) {
// エラー時の処理
$("#user-list").html("<p>データの読み込みに失敗しました: " + error + "</p>");
}
});
});
// フォームデータをJSON形式で送信する例
$(document).ready(function() {
$("#user-form").on("submit", function(event) {
event.preventDefault();
// フォームデータをオブジェクトに変換
const userData = {
name: $("#name").val(),
email: $("#email").val(),
age: parseInt($("#age").val()),
interests: $("#interests").val().split(",").map(item => item.trim())
};
// JSONに変換して表示
const jsonData = JSON.stringify(userData, null, 2);
$("#json-output").html("<pre>" + jsonData + "</pre>");
// サーバーに送信する場合はこのようにします
$.ajax({
url: "api/saveUser",
type: "POST",
contentType: "application/json",
data: jsonData,
success: function(response) {
$("#status").html("<p>データが正常に送信されました</p>");
},
error: function(xhr, status, error) {
$("#status").html("<p>エラーが発生しました: " + error + "</p>");
}
});
});
});
このJSONチュートリアルについて質問やご意見がございましたら、お気軽にお問い合わせください。