4.1.jsonの基本 |
---|
2022年4月11日 |
|||||||||||||
jsonでは、データ(正しくはObject)をKey(正しくはname)とValueの対で記述します。KeyとValueの間にはコロンを入れます。データは波かっこ{}で囲みます。例えば、 | |||||||||||||
{"key": "value"} | |||||||||||||
というデータのKeyは"key"と言う文字列で、Valueは"value"という文字列になります。Keyは常に文字列でなければなりません。 データが複数のValueから構成される時には、 |
|||||||||||||
{"key1": "value1", "key2": "value2", …} | |||||||||||||
と言うようにカンマで区切って並べます。 Valueにはfalse / null / true / object(冒頭ではデータと記載) / 列 / 数値 / 文字列を記載することができます。列(複数のValue)を記載する場合は大かっこ[]で囲み個々の列の要素はカンマで区切ります。例えば、以下の様に記載します。この表現は例えば座標などに用いられます。 |
|||||||||||||
{"key": ["value1", "value2", "value3", …]} | |||||||||||||
二次元の行列を表現する場合には、大かっこをネスト(入れ子にすること)させます。この表現は、複数の座標を組み合わせる必要がある、線や多角形などに用いられます。例えば、以下となります。 | |||||||||||||
{"key":[ ["value11", "value12", "value13", …], ["value21", "value22", "value23", …] ["value31", "value32", "value33", …], …]} | |||||||||||||
Valueにobjectを記述することも可能です。この表現は、住所など、Keyがネストする様なデータの表現に用いられます。例えば以下となります。 | |||||||||||||
{"key1": {"key2": "value2", "key3": "value3", …}} | |||||||||||||
{}[]:,の6種類の文字の前後には、空白、タブ、改行(正確には改行とキャリッジリターン)を記述する事ができますが、無視されます。つまり、{"Key": "Value"}と以下は同じ意味です。 | |||||||||||||
{ "Key": "Value" } |
|||||||||||||
Valueに、文字列を記載する場合はダブルクォート(")で囲みます。シングルクォートで囲うことはできません。 文字列には、英数字や日本語などのUnicode を記載できます。特殊文字も記載できますが、以下の記載方法を守る必要があります。バックスペースなどの制御文字を記述する事も可能ですが、ここでは省略します。詳しくはRFC7159などをご確認ください。 |
|||||||||||||
|
|||||||||||||
数値は整数、小数、および指数を10進数で記載する事ができます。先頭にゼロを記載することはできません。指数はEで表現しますが、大文字でも小文字でも構いません。例えば、以下の様な記述となります。 | |||||||||||||
100 -1100 200.123 -300.4566 400e5 500E-7 |
|||||||||||||
4.2 Smart Data Modelsの制約 |
---|
2022-12-13 |
|||||||||||||
json標準では非常に自由度が高く、却って相互運用性を損なうため、NGSI V2では色々な制約を規定しています。 | |||||||||||||
|
|||||||||||||
|
|||||||||||||