-
Notifications
You must be signed in to change notification settings - Fork 5
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
「Hidennotare」は RelaxToolsの中の人がじっくりコトコト煮込んだソースです。
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.1.1 CallbackHelper
2.1.2 Document
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.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