JSON ドキュメントの設定
KiiObject の作成 に示した方法により、KiiObject に JSON ドキュメントを設定できます。また、KiiObject の更新 でも JSON ドキュメントを設定します。
JSON ドキュメントに設定できる値の仕様は以下のとおりです。
JSON ドキュメントに設定できる数値の範囲には特に制限がありません。ただし、大きな値を設定すると Kii Cloud SDK での参照エラーや、開発者ポータルの データブラウザー で正しい値が表示されないなどの問題が発生します。
1 つの KiiObject に格納できるデータの最大サイズは、キーと値のペアを JSON 形式で表現した状態で 65534 文字までです(サイズには Kii Cloud が内部で使用するフィールドも含まれます)。
基本データ型の設定
KiiObject の新規作成時に、string、int、long、double、bool の各データ型を格納する例を以下に示します。
なお、以下のサンプルコードは、KiiObject の作成 のサンプルコードより、値の格納部分を変更したものです。
curl -v -X POST \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/vnd.{APP_ID}.mydata+json" \
"https://api-jp.kii.com/api/apps/{APP_ID}/users/me/buckets/{BUCKET_ID}/objects" \
-d '{
"stringValue": "my value",
"booleanValue": true,
"longValue": 1495677489018,
"doubleValue": 987.654,
"intValue": 123
}'
位置情報(GeoPoint)の設定
KiiObject に位置情報(GeoPoint)をセットする方法を説明します。
位置情報を格納するには、任意のキーの値として、以下のような JSON オブジェクトを設定します。GeoPoint は第 1 階層にのみ定義できます。ネスティングはサポートしていません。
キー | 値 |
---|---|
_type | 常に固定値 "point" を定義します。 |
lat | 緯度を表す -90 から 90 までの値(境界値 90 は指定不可)を定義します。 |
lon | 経度を表す -180 から 180 までの値(境界値 180 は指定不可)を定義します。 |
例として、現在ログイン中のユーザーのユーザースコープに存在する Bucket 内に KiiObject を作成し、これに位置情報を 2 つセットするサンプルコードを以下に挙げます。
curl -v -X POST \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/vnd.{APP_ID}.mydata+json" \
"https://api-jp.kii.com/api/apps/{APP_ID}/users/me/buckets/{BUCKET_ID}/objects" \
-d '{
"location1":{
"_type": "point",
"lat": 35.658603,
"lon": 139.745433
},
"location2":{
"_type": "point",
"lat": 35.658625,
"lon": 139.745415
}
}'
複雑なデータ型の設定
ネストした JSON ドキュメントを設定することもできます。
以下に例を示します。
curl -v -X POST \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/vnd.{APP_ID}.mydata+json" \
"https://api-jp.kii.com/api/apps/{APP_ID}/users/me/buckets/{BUCKET_ID}/objects" \
-d '{
"myArray": [
{
"Name": "Alice",
"age": 30
},
{
"Name": "Bob",
"age": 28
}
],
"myObject": {
"score": 987,
"mode": "easy"
}
}'