Skip to content

1.6 ArrayListとDictionaryのシリアライズ化

RelaxToolsの中の人 edited this page Apr 5, 2020 · 3 revisions

1.6 ArrayListとDictionaryのシリアライズ化

ArrayList/Dictionary でシリアライズ化(JSON形式)に変換が可能です。

JSON で言う Aray = ArrayList, Object = Dictionary で作成後、ToString メソッドで変換してください。 双方でネストが可能です。

Sub Serialize_Sample()

    Dim row As IList
    Dim col As IDictionary
    
    Set row = ArrayList.NewInstance()
    
    Set col = Dictionary.NewInstance()
    
    col.Add "Field01", 10
    col.Add "Field02", 20
    col.Add "Field03", 30

    row.Add col

    Set col = Dictionary.NewInstance()
    col.Add "Field01", 40
    col.Add "Field02", 50
    col.Add "Field03", 60

    row.Add col
    
    Debug.Print row.ToString

End Sub

実行結果

[{"Field01":10, "Field02":20, "Field03":30}, {"Field01":40, "Field02":50, "Field03":60}]

ヒント:レジストリへのArrayList/Dictionaryの登録 VBA の SaveSetting などで設定を保存する場合になど、設定内容をそのまま保存可能になります。 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/savesetting-statement

なお、CSVで保存すればいいじゃないと思われるかもしれませんが、レジストリエディタは改行を含んだ設定の場合問題があるのでJSONが最適だと思います。

レジストリエディタ、改行含んだ値をエクスポートできるがインポートできない。 https://answers.microsoft.com/ja-jp/windows/forum/all/%E3%83%AC%E3%82%B8%E3%82%B9%E3%83%88%E3%83%AA/24f81a3b-2531-4502-9dc7-b1596bc3df25

目次

1 使用方法

1.1 ICursor 系コマンドの使い方
1.2 StringBuilderの使い方
1.3 Messageクラスの使い方
1.4 Usingクラスの使い方
1.5 CSV Parser の使い方
1.6 ArrayListとDictionaryのシリアライズ化
1.7 ArrayListとDictionaryのデシリアライズ化
1.8 PowerQueryのM言語組み立て

2 リファレンス

2.1 標準モジュール

2.1.1 CallbackHelper
2.1.2 Document

2.2 インターフェイス

2.2.1 IAppInfo
2.2.2 IBookReader
2.2.3 IComparer
2.2.4 ICursor
2.2.5 IDictionary
2.2.6 IFormManager
2.2.7 IGDIPlus
2.2.8 IList
2.2.9 ILogger
2.2.10 IMCommand
2.2.11 INewInstance
2.2.12 IParam
2.2.13 IReader
2.2.14 IRegistry
2.2.15 IStringBuilder
2.2.16 IUsing
2.2.17 IUsingArgs
2.2.18 IValueObject
2.2.19 IWriter

2.3 クラス

2.3.1 ArrayList
2.3.2 Arrays
2.3.3 BookReader
2.3.4 CsvReader
2.3.5 CharCursor
2.3.6 CheckDigit
2.3.7 Clipboard
2.3.8 CsvWriter
2.3.9 Dialog
2.3.10 Dictionary
2.3.11 ExcelUtils
2.3.12 ExplorerComparer
2.3.13 FileIO
2.3.14 FormManager
2.3.15 GDIPlus
2.3.16 Graphics
2.3.17 IniFile
2.3.18 LinkedList
2.3.19 Logger
2.3.20 MCommand
2.3.21 MCsv
2.3.22 MFile
2.3.23 MList
2.3.24 MRecord
2.3.25 MTable
2.3.26 MatchBean
2.3.27 Math
2.3.28 NewExcel
2.3.29 NewPowerPoint
2.3.30 NewWord
2.3.31 Objects
2.3.32 OneTimeSpeedBooster
2.3.33 OrderedDictionary
2.3.34 Parser
2.3.35 Process
2.3.36 RangeCursor
2.3.37 RegExp
2.3.38 Registry
2.3.39 SampleVO
2.3.40 SheetCursor
2.3.41 SortedDictionary
2.3.42 Stack
2.3.43 StrSch
2.3.44 StringBuilder
2.3.45 StringEx
2.3.46 StringUtils
2.3.47 SystemInfo
2.3.48 TableCursor
2.3.49 TaskTrayView
2.3.50 TextReader
2.3.51 TextWriter
2.3.52 Using
2.3.53 Web
2.3.54 Zip

Clone this wiki locally