Langue

JsonWriter Classe

Définition

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

[Android.Runtime.Register("android/util/JsonWriter", DoNotGenerateAcw=true)]
public sealed class JsonWriter : Java.Lang.Object, IDisposable, Java.IO.ICloseable
[<Android.Runtime.Register("android/util/JsonWriter", DoNotGenerateAcw=true)>]
type JsonWriter = class
    inherit Object
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Héritage
JsonWriter
Attributs
Implémente

Remarques

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois. Le flux inclut les deux valeurs littérales (chaînes, nombres, valeurs booléennes et null), ainsi que les délimiteurs de début et de fin d’objets et de tableaux.

<h3>Encodage JSON/h3< Pour encoder vos données au format JSON>, créez-en un JsonWriter. Chaque document JSON doit contenir un tableau ou un objet de niveau supérieur. Appelez les méthodes sur l’enregistreur lorsque vous parcourez le contenu de la structure, imbrication de tableaux et d’objets selon les besoins : ul<li Pour écrire >des< tableaux forts/forts><, premier appel >.<>#beginArray() Écrivez chacun des éléments du tableau avec les méthodes appropriées #value ou en imbrication d’autres tableaux et objets. Enfin, fermez le tableau à l’aide #endArray()de . <li>Pour écrire <des objets> forts/forts<>, premier appel #beginObject(). Écrivez chacune des propriétés de l’objet en remplaçant les appels vers #name la valeur de la propriété. Écrivez des valeurs de propriété avec la méthode appropriée #value ou en imbrication d’autres objets ou tableaux. Enfin, fermez l’objet à l’aide #endObject()de . </ul>

<Exemple> h3</h3> Supposons que nous aimerions encoder un flux de messages comme suit :

{@code
            [
              {
                "id": 912345678901,
                "text": "How do I write JSON on Android?",
                "geo": null,
                "user": {
                  "name": "android_newb",
                  "followers_count": 41
                 }
              },
              {
                "id": 912345678902,
                "text": "@android_newb just use android.util.JsonWriter!",
                "geo": [50.454722, -104.606667],
                "user": {
                  "name": "jesse",
                  "followers_count": 2
                }
              }
            ]}

Ce code encode la structure ci-dessus :

{@code
              public void writeJsonStream(OutputStream out, List<Message> messages) throws IOException {
                JsonWriter writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8"));
                writer.setIndent("  ");
                writeMessagesArray(writer, messages);
                writer.close();
              }

              public void writeMessagesArray(JsonWriter writer, List<Message> messages) throws IOException {
                writer.beginArray();
                for (Message message : messages) {
                  writeMessage(writer, message);
                }
                writer.endArray();
              }

              public void writeMessage(JsonWriter writer, Message message) throws IOException {
                writer.beginObject();
                writer.name("id").value(message.getId());
                writer.name("text").value(message.getText());
                if (message.getGeo() != null) {
                  writer.name("geo");
                  writeDoublesArray(writer, message.getGeo());
                } else {
                  writer.name("geo").nullValue();
                }
                writer.name("user");
                writeUser(writer, message.getUser());
                writer.endObject();
              }

              public void writeUser(JsonWriter writer, User user) throws IOException {
                writer.beginObject();
                writer.name("name").value(user.getName());
                writer.name("followers_count").value(user.getFollowersCount());
                writer.endObject();
              }

              public void writeDoublesArray(JsonWriter writer, List<Double> doubles) throws IOException {
                writer.beginArray();
                for (Double value : doubles) {
                  writer.value(value);
                }
                writer.endArray();
              }}

Chacun JsonWriter peut être utilisé pour écrire un seul flux JSON. Les instances de cette classe ne sont pas thread-safe. Les appels qui entraîneraient un échec d’une chaîne JSON incorrecte avec un IllegalStateException.

Java documentation pour android.util.JsonWriter.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

Nom Description
JsonWriter(Writer)

Crée une instance qui écrit un flux encodé JSON dans out.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
JniPeerMembers

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

Lenient

Retourne la valeur true si cet enregistreur a des règles de syntaxe assouplies. -ou- Configurez cet enregistreur pour assouplir ses règles de syntaxe.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)
ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)

Méthodes

Nom Description
BeginArray()

Commence l’encodage d’un nouveau tableau.

BeginArrayAsync()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

BeginObject()

Commence l’encodage d’un nouvel objet.

BeginObjectAsync()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Close()

Vide et ferme cet enregistreur et le sous-jacent Writer.

Construct(JniObjectReference, JniObjectReferenceOptions)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
EndArray()

Termine l’encodage du tableau actuel.

EndArrayAsync()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

EndObject()

Termine l’encodage de l’objet actuel.

EndObjectAsync()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

Equals(Object)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
Flush()

Garantit que toutes les données mises en mémoire tampon sont écrites dans les écritures sous-jacentes Writer et vident cet enregistreur.

FlushAsync()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Name(String)

Encode le nom de la propriété.

NameAsync(String)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
NullValue()

Encodes null.

NullValueAsync()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetIndent(String)

Définit la chaîne de mise en retrait à répéter pour chaque niveau de mise en retrait dans le document encodé.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Value(Boolean)

Encodes value.

Value(Double)

Encodes value.

Value(Int64)

Encodes value.

Value(Number)

Encodes value.

Value(String)

Encodes value.

ValueAsync(Boolean)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

ValueAsync(Double)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

ValueAsync(Int64)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

ValueAsync(Number)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

ValueAsync(String)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Écrit une valeur encodée JSON (RFC 4627) dans un flux, un jeton à la fois.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à