API JsonStringify fr - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

JsonStringify

ClassicUO • Runtime API

Convertit des valeurs Basic en texte JSON.

Syntaxe exacte

JsonStringify(value:Any) -> String
JsonStringify(value:Any, indented:Integer) -> String

Paramètres

  • value — Nombre, String, tableau, List, Dictionary, JsonBoolean ou JsonNull. Clés de Dictionary obligatoirement String. Références partagées acceptées, cycles refusés.
  • indented — Indicateur Integer:0 compact, autre valeur avec indentation. Défaut:Stringify=0, Save=1.

Retour

String JSON; aucun fichier créé.

Comportement

  • Fonctions locales Basic sans UO., sans paquets de jeu. JsonParse/JsonStringify travaillent en mémoire. Basic True devient le nombre1; JsonBoolean(True) produit JSON true. JsonNull() distingue null de0.
  • Nombres finis seulement. Valeurs entières hors ±9007199254740991 refusées; stocker les grands ID en Strings. Autres nombres: précision Double. UTF-8 strict: BOM accepté en entrée, absent en sortie. Unicode incorrect: erreur.
  • Limites:1048576 unités UTF-16,4Mio de données,64 conteneurs imbriqués,100000 nœuds. Dépassement: erreur. Lecture/analyse crée de nouvelles collections; sauvegarder ne clone pas les objets mémoire.
  • Save valide tout, crée les dossiers, écrit un fichier temporaire voisin, vide le tampon puis déplace/remplace. Échec/annulation avant remplacement préserve le fichier précédent. Nettoyage du temporaire si le système le permet. Un remplacement terminé ne peut pas être annulé.
  • Pause/arrêt vérifiés tous les256 éléments, entre blocs de4096 octets/caractères et avant remplacement. Aucun thread supplémentaire; appels système non interruptibles de force. Écritures concurrentes: dernier remplacement réussi conservé; aucune transaction de base de données.

Fonctions internes : de l’appel au résultat

Convertit des valeurs Basic en texte JSON.

1. Stringify

Nombre, String, tableau, List, Dictionary, JsonBoolean ou JsonNull. Clés de Dictionary obligatoirement String. Références partagées acceptées, cycles refusés. Indicateur Integer:0 compact, autre valeur avec indentation. Défaut:Stringify=0, Save=1.

String JSON; aucun fichier créé.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/BasicJson.cs; fonction Stringify.

Config.Load(fileName, defaults) renvoie un nouveau Dictionary: les clés sauvegardées de premier niveau remplacent une copie profonde des défauts. Les objets imbriqués sont remplacés entièrement. Config.Save(fileName, settings) enregistre explicitement sans résultat. Config.GetFlag(settings, key, fallback=False) renvoie1/True ou0/False; une valeur existante non booléenne provoque une erreur. Config.SetFlag(settings, key, value) modifie seulement la mémoire et ne renvoie rien. Load/Save nécessitent des Dictionaries à clés String. Private RequireObject vérifie la catégorie extérieure, JSON valide tout le contenu.

Exemples

JsonStringify · 1

# JsonStringify · 1
#
# Convertit des valeurs Basic en texte JSON.
#
# String JSON; aucun fichier créé.

Option Explicit On
Sub Main()
    # Exécuter Main. value=Dictionary(name="ore",count=3), indented=0 → String
    # {"name":"ore","count":3}.

    Dim d=Dictionary()
    d['name']='ore'
    d['count']=3
    Return JsonStringify(d)
End Sub

Explication des paramètres et du déroulement:

  • Exécuter Main. value=Dictionary(name="ore",count=3), indented=0 → String {"name":"ore","count":3}.

JsonStringify · 2

# JsonStringify · 2
#
# Convertit des valeurs Basic en texte JSON.
#
# String JSON; aucun fichier créé.

Option Explicit On
Sub Main()
    # Exécuter Main. value=d, indented=True=1; JsonParse(text) → independent Dictionary; JsonKind →
    # "boolean:null".

    Dim d=JsonParse('{"enabled":true,"empty":null}')
    Dim text=JsonStringify(value:=d, indented:=True)
    Dim copy=JsonParse(text)
    Return JsonKind(copy['enabled']) & ':' & JsonKind(copy['empty'])
End Sub

Explication des paramètres et du déroulement:

  • Exécuter Main. value=d, indented=True=1; JsonParse(text) → independent Dictionary; JsonKind → "boolean:null".

JsonStringify · 3

# JsonStringify · 3
#
# Convertit des valeurs Basic en texte JSON.
#
# String JSON; aucun fichier créé.

Option Explicit On
Sub Main()
    # Exécuter Main. value=List → value[0]=value → Catch → "cycle".

    Dim d=List()
    d.Add(d)
    Try
    Dim text=JsonStringify(d)
    Catch problem
    Return 'cycle'
    End Try
    Return 'unexpected'
End Sub

Explication des paramètres et du déroulement:

  • Exécuter Main. value=List → value[0]=value → Catch → "cycle".

en · ru · uk · fr · de · it · es · zh-tw · ja · ko

Basic