JsonWriter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez.
[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
- Herança
- Atributos
- Implementações
Comentários
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. O fluxo inclui valores literais (cadeias de caracteres, números, boolianos e nulos), bem como delimitadores de início e término de objetos e matrizes.
<h3>Codificação JSON</h3> Para codificar seus dados como JSON, crie um novo JsonWriter. Cada documento JSON deve conter uma matriz ou objeto de nível superior. Chame métodos no gravador enquanto você percorre o conteúdo da estrutura, aninhando matrizes e objetos conforme necessário: <ul><li>Para escrever <matrizes> fortes</fortes>, primeira chamada#beginArray(). Escreva cada um dos elementos da matriz com os métodos apropriados #value ou aninhando outras matrizes e objetos. Por fim, feche a matriz usando #endArray().
<li>Para escrever <objetos> fortes</fortes>, primeira chamada#beginObject(). Escreva cada uma das propriedades do objeto alternando chamadas #name com o valor da propriedade. Escreva valores de propriedade com o método apropriado #value ou aninhando outros objetos ou matrizes. Por fim, feche o objeto usando #endObject().
</ul>
<h3>Exemplo</h3> Suponha que gostaríamos de codificar um fluxo de mensagens, como o seguinte:
{@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
}
}
]}
Esse código codifica a estrutura acima:
{@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 um pode ser usado para gravar um único fluxo JSON. As instâncias dessa classe não são thread-safe. Chamadas que resultariam em uma cadeia de caracteres JSON malformada falharão com um IllegalStateException.
Java documentação para android.util.JsonWriter.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| JsonWriter(Writer) |
Cria uma nova instância que grava um fluxo codificado em JSON em |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| JniPeerMembers |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| Lenient |
Retorna true se este gravador tiver regras de sintaxe relaxadas. -ou- Configure este gravador para relaxar suas regras de sintaxe. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
Métodos
| Nome | Description |
|---|---|
| BeginArray() |
Começa a codificar uma nova matriz. |
| BeginArrayAsync() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| BeginObject() |
Começa a codificar um novo objeto. |
| BeginObjectAsync() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Close() |
Libera e fecha este gravador e o subjacente |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| EndArray() |
Termina a codificação da matriz atual. |
| EndArrayAsync() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| EndObject() |
Termina a codificação do objeto atual. |
| EndObjectAsync() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| Equals(Object) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| Flush() |
Garante que todos os dados em buffer sejam gravados no gravador subjacente |
| FlushAsync() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Name(String) |
Codifica o nome da propriedade. |
| NameAsync(String) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| NullValue() |
Codifica . |
| NullValueAsync() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetIndent(String) |
Define a cadeia de caracteres de recuo a ser repetida para cada nível de recuo no documento codificado. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Value(Boolean) |
Codifica . |
| Value(Double) |
Codifica . |
| Value(Int64) |
Codifica . |
| Value(Number) |
Codifica . |
| Value(String) |
Codifica . |
| ValueAsync(Boolean) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| ValueAsync(Double) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| ValueAsync(Int64) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| ValueAsync(Number) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| ValueAsync(String) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. (Herdado de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Grava um valor codificado em JSON (RFC 4627) em um fluxo, um token por vez. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |