JsonWriter Clase

Definición

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

[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
Herencia
JsonWriter
Atributos
Implementaciones

Comentarios

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez. La secuencia incluye valores literales (cadenas, números, valores booleanos y null), así como los delimitadores inicial y final de objetos y matrices.

<h3>Codificación JSON</h3> Para codificar los datos como JSON, cree un nuevo JsonWriter. Cada documento JSON debe contener una matriz o objeto de nivel superior. Llame a métodos en el sistema de escritura mientras recorre el contenido de la estructura, anidando matrices y objetos según sea necesario: ul>li Para escribir <matrices< seguras>o fuertes>, llame primero a #beginArray().><< Escriba cada uno de los elementos de la matriz con los métodos adecuados #value o anidando otras matrices y objetos. Por último, cierre la matriz mediante #endArray(). <li>Para escribir <objetos< seguros>o fuertes>, llame primero a #beginObject(). Escriba cada una de las propiedades del objeto alternando llamadas a #name con el valor de la propiedad. Escriba valores de propiedad con el método adecuado #value o anidando otros objetos o matrices. Por último, cierre el objeto mediante #endObject(). </ul>

<h3>Ejemplo</h3> Supongamos que nos gustaría codificar una secuencia de mensajes como los siguientes:

{@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
                }
              }
            ]}

Este código codifica la estructura anterior:

{@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();
              }}

Cada JsonWriter una se puede usar para escribir una sola secuencia JSON. Las instancias de esta clase no son seguras para subprocesos. Las llamadas que darían lugar a un error en una cadena JSON con formato incorrecto producirán un IllegalStateExceptionerror .

Documentación de Java para android.util.JsonWriter.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Constructores

JsonWriter(Writer)

Crea una nueva instancia que escribe una secuencia outcodificada en JSON en .

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
JniPeerMembers

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

Lenient

Devuelve true si este escritor tiene reglas de sintaxis relajadas. -o bien- Configure este escritor para relajar sus reglas de sintaxis.

PeerReference

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

BeginArray()

Comienza a codificar una nueva matriz.

BeginArrayAsync()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

BeginObject()

Comienza a codificar un nuevo objeto.

BeginObjectAsync()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Close()

Vacía y cierra este escritor y el subyacente Writer.

Dispose()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
Dispose(Boolean)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
EndArray()

Finaliza la codificación de la matriz actual.

EndArrayAsync()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

EndObject()

Finaliza la codificación del objeto actual.

EndObjectAsync()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
Flush()

Garantiza que todos los datos almacenados en búfer se escriben en el objeto subyacente Writer y vacía ese escritor.

FlushAsync()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Name(String)

Codifica el nombre de la propiedad.

NameAsync(String)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
NullValue()

nullCodifica .

NullValueAsync()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetIndent(String)

Establece la cadena de sangría que se repetirá para cada nivel de sangría en el documento codificado.

ToArray<T>()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
Value(Boolean)

valueCodifica .

Value(Double)

valueCodifica .

Value(Int64)

valueCodifica .

Value(Number)

valueCodifica .

Value(String)

valueCodifica .

ValueAsync(Boolean)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

ValueAsync(Double)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

ValueAsync(Int64)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

ValueAsync(Number)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

ValueAsync(String)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
IJavaPeerable.Finalized()

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

GetJniTypeName(IJavaPeerable)

Escribe un valor codificado json (RFC 4627) en una secuencia, un token a la vez.

Se aplica a