# JsonFile Class
1. 性質:實例類
2. 開發目的:Json對象的讀寫
## 方法 Method
### _New(path)
- path - JsonFile文件的路徑
會先檢查路徑是否合法:如果路徑不合法,會拋出異常。
### load()
從JsonFile文件中加載JsonObject,文件不存在,會加載空`json`。
### init(aDefaultObject)
使用默認Object,對JSON進行初始化。
也就是檢查出JSON中所有的缺失項,并填入默認值。
### store(jsonObj)
向JsonFile文件中存儲JsonObject
```Java
path := "D:\AHKs\Dev\APPBookMarkGroup\MyTomato.json"
jf := new JsonFile(path)
array := jf.load()
LogPrintln(array,A_LineFile "(" A_LineNumber ")" " : " "array >>> `r`n")
array[3] := "New"
content := jf.store(array)
LogPrintln(content,A_LineFile "(" A_LineNumber ")" " : " "content >>> `r`n")
```
```AutoHotKey
>"F:\gUAPP\AutoHotkey32Bit\SciTE\..\AutoHotkey.exe" /ErrorStdOut "D:\AHKs\ahk_lib\IO\Example_JsonFile.ahk"
A_ScriptName >>> Example_JsonFile.ahk
D:\AHKs\ahk_lib\IO\Example_JsonFile.ahk(38) : array >>>
[{title:MyGridPane [D:\JavaProject\MyGridPane]},{title:MyTomato [D:\JavaProject\MyTomato]},New]
D:\AHKs\ahk_lib\IO\Example_JsonFile.ahk(44) : content >>>
[{"title":"MyGridPane [D:\\JavaProject\\MyGridPane]"},{"title":"MyTomato [D:\\JavaProject\\MyTomato]"},"New"]
```
- 指南 (README)
- 常見問題 (FAQ)
- 更新歷史(CHANGELOG)
- 貢獻指南 (CONTRIBUTING)
- 開源協議 (LICENCE)
- 鳴謝 (ACKNOWLEDGEMENT)
- 文檔模板 (TEMPLATE)
- 新手指南(BEGINNER_GUIDE)
- 語法高亮(HIGHLIGHTING)
- Class
- _Container
- _EX
- _List
- _Map
- _Win
- _Wins
- BeanEnum
- HotString
- HotStringMaps
- InvisibleCharacter
- JSON
- JsonFile
- Method
- ObservableMap
- ObservableObj
- WinEvent
- Timer
- MesToast
- APPLocker
- AutoClassify
- Everything
- Function
- Ini
- AutoInputBox
- ParaChecker
- PathObj
- RunningSpeedTest
- Script
- Switcher
- Stack
- TimeChecker
- Type
- UMSS
- Function
- assert()
- Analyze()
- AnalyzeClassName()
- AutoBind()
- bulkMoveFile()
- ExcelToList()
- getClass()
- getCurrentTime()
- getFunc()
- Instanof()
- InstanceCheck()
- loadMethod()
- LogPrintln()
- rawCall()
- RandomStr()
- showObj()
- Type()
- throwWithSt()
- UseCMD()
- ObjDump()
- Test
- ObjLoad()
- StringMethod
- TypeClass
- MapFactory()