SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Java開発者のためのYAML入門:XMLやJSONとの違い

YAMLファイル形式の概要

  • X ポスト
  • このエントリーをはてなブックマークに追加

YAMLのファイル構造の構成要素

 YAMLの簡単な例を見たところで、次はYAMLのファイル構造でよく使用する構成要素として、ハッシュ、リスト、ブロックリテラルの3つを見ていきましょう。

ハッシュ

 インデントした子で、キーと値をコロン(:)で区切って表記すると、ハッシュを作成できます。次に例を示します。

JFrame:
    defaultCloseOperation: JFrame.EXIT_ON_CLOSE
    title: Test Frame
    width: 800
    height: 400

 また、中かっこ({})を使用したJSON風の表記によるハッシュ作成も可能です。キーと値の各ペアはカンマで区切ります。

JFrame: {defaultCloseOperation: JFrame.EXIT_ON_CLOSE, title: Test, Frame, width: 800, height: 400}

リスト

 YAMLの基礎となる機能です。リストを作成するには、リストの各要素の先頭にマイナス記号(-)を付け、スペースのインデントと組み合わせて記述します。

components:
    - JTextArea
    - JButton

 また、角かっこ([])を使用したJSON風の表記によるリスト作成も可能です。

components: [JTextArea, JButton]

ブロックリテラル

 YAMLの特徴がキラリと光る機能です。XMLや、その中でCDATAを使ったときの見にくい表記とは一線を画しています。ブロックリテラルでは、YAMLファイルの中に大量のテキストを簡単に記述できます。縦棒(|)のディレクティブを使った場合、テキスト内の改行は保持されます。

text: |
   This is a really long text
   that spans multiple lines (but preserves new lines).
   It does not need to be escaped with special brackets,
   CDATA tags, or anything like that

 YAMLプロセッサは、最初の行の先頭文字から後をテキストとみなし(その前のインデントのスペースは無視)、テキスト内の改行をすべて保持します。

 一方、大なり記号(>)のディレクティブを使った場合、改行はすべて無視され、1行の長いテキストとみなされます。

text: >
   This is a really long text
   that spans multiple lines (but preserves new lines).
   It does not need to be escaped with special brackets,
   CDATA tags, or anything like that

 この2つの他に、縦棒とプラス記号(|+)のディレクティブ(先行するスペースは削除し、改行と後続のスペースは保持)や、大なり記号とマイナス記号(>-)のディレクティブ(すべてのスペースを削除)などがあります。

次のページ
XMLやJSONとYAMLとの違い

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Jacek Furmankiewicz(Jacek Furmankiewicz)

Compuware Corporation of Canadaの上級開発者/設計者。UNIX、PowerBuilder、C#/Microsoft .NET、Java、PHP、Microsoft SQL Server、OracleなどでITの専門家として12年の経験がある。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2972 2008/09/15 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング