kintone APIのJSON厳格化対応の注意点

2016年1月10日にアップデートされる1月版kintoneでは様々機能強化が行われ、これまで以上に便利になってきます。
  ※細かいアップデート情報はこちら

それと同時にkintone APIでも大きな変更があり、JSONライブラリが置き換わることでJSONの形式チェックが厳格化されます。

主な変更点は「2016/01/10 の定期メンテナンスにおけるkintone API更新情報 Part1」に掲載されていますが、ここには載っていないけど検証していてエラーとなってしまうパターンが他にも見つかりました。

リリース時にはkintone側で仕様変更があるかもしれませんが、1/6時点で1つ判明したので挙げたいと思います。

配列フィールドへオブジェクトで記述

普通に考えると間違えた書き方ではあるのですが、12月版まではチェックボックスなどの複数選択フィールドに対して配列ではなくオブジェクトで記述しても正常に処理されていました。

例えば、何かの処理が終わったら「処理済」チェックボックスに「済」というチェックをつけるといったカスタマイズを入れる場合、正確には

“処理済” : { “value” : [“済”] }

と配列で渡す必要がありますが、

“処理済” : { “value” : “済” }

と配列ではなくオブジェクトで渡しても済にチェックがついて登録されてしまいます。

チェックボックスに対して複数であれば配列で渡すようにしますが、1つだけチェックを付ける場合、うっかり配列で渡すのを忘れてしまう事もあると思います。

無意識に書いてしまって気づかないケースがあると思いますので、ご注意ください。(私は該当者です。。)

【追記】

配列型ではないフィールドに対して空の値をいれる時に空の配列で渡すパターンもエラーになります。

NGパターン
“ドロップダウン” : { “value” : [] }

 

同じカテゴリーの記事