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 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
- 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 IllegalStateException
error .
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 |
Propiedades
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 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 |
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 |
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() |
|
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) |
|
Value(Double) |
|
Value(Int64) |
|
Value(Number) |
|
Value(String) |
|
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. |