JsonWriter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
É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
- 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 |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| 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 |
| 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 |
| 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 |
| 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(Double) |
Encodes |
| Value(Int64) |
Encodes |
| Value(Number) |
Encodes |
| Value(String) |
Encodes |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| 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 |