[{"id":"7720ca38-fc98-4fd8-a3a5-3c0e730c3c72","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"247ded67-b050-4436-be40-fe7b0eeabef7","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"9a8c377f-1f1e-476e-b487-c2339da9bed3","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"5e8e6db2-89b9-4184-bbdc-301ee676869e","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"e04b598e-b0d8-4054-bdac-5143d90b3d51","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"edb028d0-a8cc-42b2-acda-42a5515729f0","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"2adde444-20a6-43d7-8896-2b445877327a","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"6ab8ced2-6c7a-41b6-b861-ba066bd40f40","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"0c34aedd-80a3-470b-a0f6-c327a4346be7","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"717a5892-fa23-499b-a61d-cff228943aaf","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"bd9be971-69fc-4793-ad6d-234be7a93048","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"a1e8d38f-43d8-4b3e-b747-3fbf7656fcd9","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"d6995fdf-76ee-421f-9e7a-3fb324d14bbb","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"64fa3155-4543-4acd-83b7-f9860fd46673","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"698413bd-0b16-4287-baec-644d98a411d1","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7e4393a0-21ef-438b-981b-325b64db5baa","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]}]
        
(Showing Draft Content)

JSONスキーマの使用

パブリックスキーマは、Spread.Sheets JSONデータ形式を記述します。また、人間にもマシンにも可読な文書を作成できるように、Spread.Sheets JSONデータを明確化します。完全な構造検証が可能であり、Spread.Sheets JSONデータおよびコードの生成、自動テスト、およびJSONデータの検証に便利です。スキーマの完全なリストについては、「Spreadスキーマ」を参照してください。

JSONスキーマの詳細については、json-schema.orgのWebサイトを参照してください。

JSONスキーマドキュメントを使用して、JSONデータが有効かどうかを検証できます。JSONスキーマに基づき、有効なJSONデータを作成することもできます。

次に、基本的なJSONスキーマの例を示します。

{
       "title": "LineBorder",
       "description": "Indicates the color of the border line. Use a known color name or HEX style color value. The default value is black.",
       "type": "object",
       "properties": {
         "color": {
           "type": "string",
           "default": "black"
         },
         "style": {
           "$ref": "#/definitions/LineStyle",
           "default": 0
         }
       }
     }

テーマを使用してバリデータを作成する方法については、こちらのWebサイト(http://json-schema.org/implementations.html)を参照してください。また、https://json-schema-validator.herokuapp.comで公開されているオンラインバリデータを使用すると、JSONスキーマドキュメントに基づき、作成したJSONデータを検証できます。

Spread.Sheets JSONスキーマドキュメントを使用すると、SpreadJS JSONデータを検証できます。

json-schema-validatorを使用してSpread.Sheets JSONデータを検証する手順は、次のとおりです。

  1. 部分的なJSONデータを検証します。

    a. たとえば、「NameInfo」に基づく2つのJSONデータがあり、両方とも有効なJSONデータであるかどうかを調べたいとします。

    {
        "name":"name1",
        "row":4,
        "column":3,
        "formula":"=SUM(A1,A3)"
    }
    {
     "name":"name1",
         "row":"4",
         "column":3,
         "formula":"=SUM(A1,A3)"
     }

    この場合は、次のような「NameInfo」JSONスキーマドキュメントを取得できます。

    {
           "title": "NameInfo",
           "description": "Represents a custom named expression that can be used by formulas.",
           "type": "object",
           "properties": {
             "name": {
               "type": "string"
             },
             "row": {
               "type": "integer",
               "minimum": 0
             },
             "col": {
               "type": "integer",
               "minimum": 0
             },
             "formula": {
               "type": "string"
             }
           }
         }

    JSONスキーマを使用して、JSONデータを検証します。「jsonData2」は無効です。本来、このrowプロパティの型は「number」ではなく「integer」であるべきです。


    b. JSONスキーマが別のJSONスキーマを参照している場合です。たとえば、次のJSONスキーマは、「LineStyle」という別のJSONスキーマを参照しています。

    {
        "title" : "LineBorder",
        "description" : "Indicates the color of the border line. Use a known color name or HEX style color value. The default value is black.",
        "type" : "object",
        "properties" : {
            "color" : {
                "type" : "string",
                "default" : "black"
            },
            "style" : {
                "$ref" : "#/definitions/LineStyle",
                "default" : "LineStyle.empty"
            }
        }
    }

    「LineBorder」のJSONデータを検証するには、完全な「LineBorder」JSONスキーマを使用します。

     {
        "title" : "LineBorder",
        "description" : "Indicates the color of the border line. Use a known color name or HEX style color value. The default value is black.",
        "type" : "object",
        "properties" : {
            "color" : {
                "type" : "string",
                "default" : "black"
            },
            "style" : {
                "$ref" : "#/definitions/LineStyle",
                "default" : "LineStyle.empty"
            }
        },
        "definitions":{
            "LineStyle":{
               "title":"LineStyle",
               "description":"Specifies the line drawing style for the border. empty:0,thin:1,medium:2,dashed:3,dotted:4,thick:5,double:6,hair:7,mediumDashed:8,dashDot:9,mediumDashDot:10,dashDotDot:11,mediumDashDotDot:12,slantedDashDot:13.",
               "enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]
            }
        }
    }
  2. 完全なJSONデータを検証します。完全バージョンのJSONスキーマを使用することで、Spread.Sheetsの完全バージョンのJSONデータを検証できます。