JsonWriter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada 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
- Atributos
- Implementaciones
Comentarios
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. La secuencia incluye valores literales (cadenas, números, valores booleanos y null), así como los delimitadores iniciales y finales 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, anidar matrices y objetos según sea necesario: ul>li Para escribir <matrices< fuertes>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 uno se puede usar para escribir una sola secuencia JSON. Las instancias de esta clase no son seguras para subprocesos. Las llamadas que generarían un error en una cadena JSON con formato incorrecto producirán un error IllegalStateException.
Java documentación para android.util.JsonWriter.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| JsonWriter(Writer) |
Crea una nueva instancia que escribe una secuencia codificada en JSON en |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| JniPeerMembers |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada 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 en JSON (RFC 4627) en una secuencia, un token cada 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
| Nombre | Description |
|---|---|
| BeginArray() |
Comienza a codificar una nueva matriz. |
| BeginArrayAsync() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| BeginObject() |
Comienza a codificar un nuevo objeto. |
| BeginObjectAsync() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Close() |
Vacía y cierra este escritor y el subyacente |
| Dispose() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| Dispose(Boolean) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| EndArray() |
Finaliza la codificación de la matriz actual. |
| EndArrayAsync() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| EndObject() |
Finaliza la codificación del objeto actual. |
| EndObjectAsync() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada 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 subyacente |
| FlushAsync() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| GetHashCode() |
Devuelve un valor de código hash para el 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 en JSON (RFC 4627) en una secuencia, un token cada 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() |
|
| NullValueAsync() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada 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 en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| Value(Boolean) |
|
| Value(Double) |
|
| Value(Int64) |
|
| Value(Number) |
|
| Value(String) |
|
| ValueAsync(Boolean) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| ValueAsync(Double) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| ValueAsync(Int64) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| ValueAsync(Number) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. |
| ValueAsync(String) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada 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, 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) |
| 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) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| IJavaPeerable.Finalized() |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| IJavaPeerable.JniManagedPeerState |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Escribe un valor codificado en JSON (RFC 4627) en una secuencia, un token cada vez. (Heredado de Object) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerció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 en JSON (RFC 4627) en una secuencia, un token cada vez. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |