4D v14.3

JSON コマンドについての概要

ホーム

 
4D v14.3
JSON コマンドについての概要

JSON コマンドについての概要  


 

 

JSON コマンドは、JSONフォーマットのランゲージオブジェクトを生成・解析するためのものです。言い換えると、このフォーマットを使用することによって4Dデータベース(データとストラクチャ)にWebブラウザを使ってアクセスすることが出来るようになります。

構造化されたオブジェクトの使えるようになったことは4D v14 のランゲージの大きな新機能の一つであり、構造化されたデータの受け渡しを容易にするのが目的です。"JSON"テーマ内のコマンドを使用することによって4DでJSONオブジェクトを直接使うことが出来るようになりました。 それでいながら、"native"オブジェクト(JSONにインスパイヤされた構造をもつオブジェクト)を扱うこともで、これにより全てのランゲージとデータの受け渡しができるようになっています。詳細は オブジェクト(ランゲージ) の章を参照して下さい。

"JSON (JavaScript Object Notation) とは、 ECMAScript 表記法に由来する、標準的なテキストベースのデータ表記法である。" (引用:Wikipedia英語版)
JSON は特定のプログラミング言語に依存しませんが、それでいてC++ やJavaScript、 Perl等といった言語の使用者にはなじみ深い慣習を使用しています。データの受け渡し特に特化したフォーマットであると言えるでしょう。

この章ではJSONの表記法の原理についての概略を記載しています。JSONの表記法についての完全な情報については、こちらのWebサイトを参照して下さい。: www.json.org/index.html

JSON の記法は以下の原則に従うようにできています。:

  • データは、名前と値がペアになるようにできています。
  • データはカンマ(,)で区切られています。
  • オブジェクトは中カッコ({})によって定義されます。
  • 配列は大カッコ([ ])によって定義されます。

JSON データは、名前/値(もしくはキー/値)のペアという形で表現されます。 名前/値のペアの中は、二重引用符("")で挟まれたフィールド名のあと、コロン(:)、そして同じく二重引用符("")で挟まれた値が続きます。以下の様な形です:

"firstName":"John"

これはJavaScriptでの以下の表記に相当しています:

firstName="John"

プロパティ名では大文字と小文字は区別されることに注意してください。 "FirstName" の代わりに "firstName" と表記すると、これは別のデータを意味することになります。

JSON では以下の型の値に対応しています:

説明詳細
文字列二重引用符(")とバックスラッシュ(/)以外ならどんなUnicode文字も使用できます。
プロパティ名などの値は二重引用符(")に挟まれる決まりになっています。例えば、 "city":"Paris"
制御文字には \ が使用されます:
\" = quotes
\\ = backslash
\/ = slash
\b = backspace
\f = formfeed
\n = line break
\r = carriage return
\t = tab
\u = four hexadecimal digits
数値整数または浮動少数数字に関してはCやJavaに近いですが、8進法数と16進法数は使用できません。
オブジェクト{ }
配列[ ]
ブールtrue または false
nullnull

JSON オブジェクトは中カッコ({ })によって定義され、必要な数だけ名前/値のペアを内包することが出来ます。表記は以下のようになります:

{ "firstName":"John" , "lastName":"Doe" }

JSON 配列は大カッコ([ ])によって定義されます。それぞれの配列は、未定数のオブジェクトを内包することができます:

{
    "employees": [
        { "firstName":"John" , "lastName":"Doe" },
        { "firstName":"Anna" , "lastName":"Smith" },
        { "firstName":"Peter" , "lastName":"Jones" }
    ]
}

4D の日付とJSON感でデータの変換が行われる際、デフォルトで変換を行ったマシンのタイムゾーンに沿って(JavaScriptに従って)変換されます。例えば、フランス(GMT+2)では !23/08/2013! を変換すると"2013-08-22T22:00:00Z" という結果が得られます(逆もまた然りです)。

例えばSET DATABASE PARAMETER コマンドなどを使用してこの機能を変更し、 書き出し処理を実行する際にタイムゾーンを考慮しないようにすることもできます。

4D/JSON 間の日付の変換についてのより詳細な情報は、 JavaScript の日付の変換 を参照して下さい。

 
プロパティ 

プロダクト: 4D
テーマ: JSON

 
参照 

オブジェクト(ランゲージ)

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)