JsonWriter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta.
[Android.Runtime.Register("android/util/JsonWriter", DoNotGenerateAcw=true)]
public sealed class JsonWriter : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ICloseable
[<Android.Runtime.Register("android/util/JsonWriter", DoNotGenerateAcw=true)>]
type JsonWriter = class
inherit Object
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. Il flusso include entrambi i valori letterali (stringhe, numeri, booleani e null) e i delimitatori iniziali e finali di oggetti e matrici.
<h3 Codifica JSON</h3>> Per codificare i dati come JSON, creare un nuovo JsonWriter
oggetto . Ogni documento JSON deve contenere una matrice o un oggetto di primo livello. Chiamare i metodi nel writer durante la procedura dettagliata del contenuto della struttura, annidamento di matrici e oggetti in base alle esigenze: <ul<>li>Per scrivere <matrici< forti/forti>>, chiamare #beginArray()
prima . Scrivere ognuno degli elementi della matrice con i metodi appropriati #value
o annidando altre matrici e oggetti. Chiudere infine la matrice usando #endArray()
. <li>Per scrivere <oggetti< sicuri/sicuri>>, chiamare #beginObject()
prima . Scrivere ognuna delle proprietà dell'oggetto alternando chiamate a #name
con il valore della proprietà. Scrivere i valori delle proprietà con il metodo appropriato #value
o annidando altri oggetti o matrici. Chiudere infine l'oggetto usando #endObject()
. </ul>
<h3 Esempio</h3>> Si supponga di voler codificare un flusso di messaggi, ad esempio quanto segue:
{@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
}
}
]}
Questo codice codifica la struttura precedente:
{@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();
}}
Ognuno JsonWriter
può essere usato per scrivere un singolo flusso JSON. Le istanze di questa classe non sono thread safe. Le chiamate che generano una stringa JSON non valida avranno esito negativo con un IllegalStateException
oggetto .
Documentazione Java per android.util.JsonWriter
.
Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .
Costruttori
JsonWriter(Writer) |
Crea una nuova istanza che scrive un flusso con codifica JSON in |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle all'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
JniPeerMembers |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
Lenient |
Restituisce true se questo writer ha regole di sintassi rilassate. -o- Configurare questo writer per rilassare le regole di sintassi. |
PeerReference |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
Metodi
BeginArray() |
Avvia la codifica di una nuova matrice. |
BeginArrayAsync() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
BeginObject() |
Avvia la codifica di un nuovo oggetto. |
BeginObjectAsync() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Close() |
Scarica e chiude questo writer e il sottostante |
Dispose() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
Dispose(Boolean) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
EndArray() |
Termina la codifica della matrice corrente. |
EndArrayAsync() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
EndObject() |
Termina la codifica dell'oggetto corrente. |
EndObjectAsync() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
Flush() |
Assicura che tutti i dati memorizzati nel buffer vengano scritti nell'oggetto sottostante |
FlushAsync() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
JavaFinalize() |
Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto. (Ereditato da Object) |
Name(String) |
Codifica il nome della proprietà. |
NameAsync(String) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
Notify() |
Riattiva un singolo thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
NullValue() |
|
NullValueAsync() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
SetIndent(String) |
Imposta la stringa di rientro da ripetere per ogni livello di rientro nel documento codificato. |
ToArray<T>() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione in formato stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
Value(Boolean) |
|
Value(Double) |
|
Value(Int64) |
|
Value(Number) |
|
Value(String) |
|
ValueAsync(Boolean) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
ValueAsync(Double) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
ValueAsync(Int64) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
ValueAsync(Number) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
ValueAsync(String) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
Wait() |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.< (Ereditato da Object) |
Wait(Int64) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
IJavaPeerable.Finalized() |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. (Ereditato da Object) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione dei tipi controllati dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |
GetJniTypeName(IJavaPeerable) |
Scrive un valore JSON (RFC 4627) codificato in un flusso, un token alla volta. |