OSS探訪GitHubでログイン

SwiftでJSONの階層を安全にたどり、必要な値を取り出す

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
22,934
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/08/18
ページ内ナビ

概要

SwiftyJSONは、SwiftでJSONの階層を添字でたどり、文字列や数値などを取り出すライブラリです。FoundationのDataやオブジェクトからJSONを作り、型の違いと欠落を確認できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

入れ子のJSONを添字と型付きアクセサーで読む

JSON(data:)で解析した値をjson["users"][0]["name"].stringValueのように参照できます。任意値、既定値付きアクセサー、errorを使い分けて、欠落や型不一致を扱えます。

出典:[1]

向いている用途

外部APIの応答から一部の値を素早く扱う用途に向く

大きなモデル型を先に定義せず、必要な階層だけを調べたい処理に向きます。固定版をSwift Package Managerで組み込み、配列件数と名前の抽出を小さな実行例で確認できます。

出典:[1][3]

導入前の確認

Codableとの役割と失敗時の扱いを決める

スキーマが安定し型全体を検証したい場合はCodableも比較対象です。stringValueなどの既定値付きアクセサーは失敗を既定値へ変えるため、必須項目ではerrorや任意値を確認してください。

出典:[1]

参考にした公式資料

  1. [1]SwiftyJSON 5.0.2 README(2026-10-05)
  2. [2]SwiftyJSON 5.0.2 release(2026-10-05)
  3. [3]SwiftyJSON 5.0.2 Package.swift(2026-10-05)
  4. [4]SwiftyJSON MIT license(2026-10-05)
  5. [5]SwiftyJSON GitHub metadata(2026-10-05)
編集部からの補足

API応答など形が一定でないJSONから、必要な値を簡潔に取り出したいSwift開発者向けです。欠落と型不一致を隠さず、errorや型付きアクセサーを確認してください。

3ステップで試す

  1. 1

    固定版を使うSwiftパッケージを作る

    Swift 5.6以上とGitが必要です。一時ディレクトリに実行可能パッケージを作り、SwiftyJSON 5.0.2を固定します。

    demo=$(mktemp -d "${TMPDIR:-/tmp}/swiftyjson-demo.XXXXXX") && cd "$demo" && printf '%s\n' '// swift-tools-version:5.6' 'import PackageDescription' 'let package = Package(name: "Demo", dependencies: [.package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", exact: "5.0.2")], targets: [.executableTarget(name: "Demo", dependencies: ["SwiftyJSON"])])' > Package.swift && mkdir -p Sources/Demo
  2. 2

    入れ子のJSONを読むコードを書く

    users配列をDataから解析し、先頭のnameと配列件数を型付きアクセサーで取り出します。

    printf '%s\n' 'import Foundation' 'import SwiftyJSON' 'let data = #"{"users":[{"name":"Ada"},{"name":"Linus"}]}"#.data(using: .utf8)!' 'let json = try JSON(data: data)' 'print(json["users"][0]["name"].stringValue)' 'print(json["users"].arrayValue.count)' > Sources/Demo/main.swift
  3. 3

    実行結果を検証する

    swift runで依存関係を解決して実行し、Adaと2が順に出力されることを確認します。

    test "$(swift run -q Demo)" = $'Ada\n2'
公式READMEで確認

成長

成長の推移 · 直近30日

22,934 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
21

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

タグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • swiftyjson
  • json
  • swift
  • response
  • request
  • carthage
  • cocoapods
  • json-parsing-library
  • json-parser
  • json-parsing-swift
Stars
22,934
Forks
3,415
Watchers
606
Open Issues
118
Contributors
139
所有者種別
Organization
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/08/18

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?