Farbschema: Hell
Sie befinden sich hier: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Office JSON » how-to » Obravnava neveljavnega JSON

Obravnava neveljavnega JSON

Odzovete se na JSON, ki ga ni mogoče razčleniti, in uporabniku ali v dnevnik sporočite, kje je težava.

Pregled rešitve

LoadJson in Load za neveljaven vhod vrneta False in v ParseError vpišeta kodo napake, vrstico in stolpec, besedilo vrstice ter razlog, tako kot loadXML v MSXML. Ob nalaganju se ne sproži nobena napaka VBA.

Izvedba

Dim doc As New JDoc
If Not doc.LoadJson(text) Then
    With doc.ParseError
        Debug.Print "Line " & .Line & ", column " & .LinePos & ": " & .Reason
        Debug.Print .SrcText
        If .LinePos > 0 Then Debug.Print String(.LinePos - 1, " ") & "^"
    End With
    Exit Sub
End If

Za datoteko:

If Not doc.Load(CurrentProject.Path & "\settings.json") Then
    MsgBox doc.ParseError.Reason, vbExclamation
End If

Opombe

  • Vrnjeno vrednost vedno preverite. Po neuspelem nalaganju napako nalaganja znova sprožijo samo bralne metode brez nadomestne vrednosti (jeParseError ali po Load jeFileError); poizvedbe ne javijo ničesar (SelectNodes vrne prazen seznam, zato se zanka For Each po njem ne izvede; SelectSingleNode in Root vrneta Nothing; Exists vrne False), bralne metode z nadomestno vrednostjo pa vrnejo nadomestno vrednost.
  • ParseError.FilePos je položaj znaka v celotnem besedilu, štet od 0; Line in LinePos se štejeta od 1.
  • Komentarji, končne vejice in enojni narekovaji niso veljaven JSON; razlog navede nepričakovani znak, vejico ali narekovaje (odpravljanje težav).
  • Tudi manjkajočo ali neberljivo datoteko pri Load sporoči ParseError; Save sproži jeFileError.

Sorodne teme

sl/wiki/msaccess/json/how-to/handle-invalid-json.txt · Zuletzt geändert: von Wolfgang van der Stille