#cJobject について
VBA で JSON を扱う場合、ほとんど ScriptControl か JSONLib を使っているようです。
ただ、制約があったり機能が少ないなどあまり使い勝手はよくないです。
cJobject も json 変換出来るライブラリですが、日本で紹介されたサイトが見当たりませんので、ご紹介します。
Kintone レポートツールで使用したライブラリですが、これをベースに kintone 用ライブラリを作成して使用しています。
検索やソート、クローン機能などもあるようですが試していません。
もう少し日本でも使用例が増えて、情報が集まってくれるとうれしいです。
cJobject は、Desktop Liberation で公開されている巨大なライブラリの一部です。
データ関連について、あまりにも機能が多すぎて、json 関連の機能があることが埋没してしまっています。
また、巨大ライブラリの一部ということで、クラス、標準モジュールなどソースが分散しているのが、少し使いにくい点です。
最初に使ったときは、よくわからず巨大ライブラリから必要な機能を切り出して使いました。
#ダウンロード
cJobject の機能を手っ取り早く試すには、下記からexcel ファイルをダウンロードします。
ダウンロードページ で、Data Manipulation を展開すると、最後にvanillacJobject.xlsm があります。
json 変換のコード例
Private Function getMoreData() As cJobject
' just get some vanilla json data
Set getMoreData = JSONParse("[" & _
"{'name':'john', 'demographics':{'age':25,'sex':'male'}}," & _
"{'name':'mary', 'demographics':{'age':50,'sex':'female'}}" & _
"]")
End Function
' simple test
Private Sub showData()
Dim job As cJobject, jo As cJobject, jp As cJobject, jm As cJobject
Set job = getMoreData()
' stringify
Debug.Print job.stringify
vba のデバッグ実行で、json オブジェクトを階層で表示できます。
使い方などは、そのうち少しづつでも紹介できればと思います。