4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ZOZOAdvent Calendar 2024

Day 6

FSONについて

Last updated at Posted at 2024-12-05

FSONはFlexible Serialized Object Notationの略で、設定を記述しやすくするようにJSONを拡張したものです。
通常のJSONとしての機能に加えて、以下の機能がプラスされています。

コメント

/* Multiline Commant */ という記法で複数行コメントを記述できます。
// Single comment という記法で1行コメントを記述できます。

JSONにはない値

Nan, Infinity, -Infinity といった特殊な値を持つ浮動小数点数を記述てきます。
また、 0x1ABC` のような16進数リテラルもサポートされています。

オブジェクトのキー

オブジェクトのキーはJSON同様にダブルクォートで囲めるだけでなく、シングルクォートで囲ったりクォートなしにもできます。

{
    "double quotes": null,
    'single quotes': null,
    withoutQuotes: null
}

参照

値にIDを付与して、そのIDを使って参照をすることもできます。

例えば、以下のようなISONがあったときに、

{
  something: {
      key: #{ #id: "identifier"; #value: "value"; }
  }
}

以下のいずれかの方法で value を参照できます。

  • 識別子そのものを使う方法: #identifier もしくは #"identifier"
  • パスを使う方法: #/something/identifier もしくは #/"something"/"identifier"

テンプレート文字列

バッククォートで囲まれた文字列はテンプレート文字列として扱われ変数を埋め込むことができます。
このときに前述した参照機能を使って変数を参照することもできます。

{
  x: 5,
  something: `x is ${x}`
}

他の細かな機能

オブジェクトと配列の最終要素の後のカンマ

参集要素の後にカンマがあってもシンタックスエラーにはならないです。

{ x: { y: [], }, }

正の数のプラス

正の数を表すためにプラスを付けることもできます。

+1.5

複数行文字列

文字列は複数行二対応しています。

"hello
world"
4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?