JsonWriter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다.
[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
- 상속
- 특성
- 구현
설명
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. 스트림에는 리터럴 값(문자열, 숫자, 부울 및 null)과 개체 및 배열의 시작 및 끝 구분 기호가 모두 포함됩니다.
<h3>인코딩 JSON</h3> 데이터를 JSON으로 인코딩하려면 새 JsonWriter
를 만듭니다. 각 JSON 문서에는 하나의 최상위 배열 또는 개체가 포함되어야 합니다. 필요에 <따라 구조체의 내용을 안내하고 배열 및 개체를 중첩할 때 작성기에서 메서드를 호출합니다. ul><li>강력한 배열/강력한>> 을 쓰<려면 먼저 를 호출#beginArray()
합니다<. 적절한 #value
메서드를 사용하거나 다른 배열과 개체를 중첩하여 각 배열의 요소를 작성합니다. 마지막으로 를 사용하여 #endArray()
배열을 닫습니다. <li>강력한 개체/강력한>> 개체를 쓰<려면 먼저 를 호출#beginObject()
합니다<. 호출 #name
을 속성 값으로 번갈아 가며 각 개체의 속성을 씁니다. 적절한 #value
메서드를 사용하거나 다른 개체 또는 배열을 중첩하여 속성 값을 씁니다. 마지막으로 를 사용하여 #endObject()
개체를 닫습니다. </ul>
<h3>예제</h3> 다음과 같은 메시지 스트림을 인코딩하려고 합니다.
{@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
}
}
]}
이 코드는 위의 구조를 인코딩합니다.
{@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();
}}
각각 JsonWriter
은 단일 JSON 스트림을 작성하는 데 사용할 수 있습니다. 이 클래스의 인스턴스는 스레드로부터 안전하지 않습니다. 형식이 잘못된 JSON 문자열을 생성하는 호출은 와 함께 IllegalStateException
실패합니다.
에 대한 Java 설명서입니다 android.util.JsonWriter
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
JsonWriter(Writer) |
JSON으로 인코딩된 스트림 |
속성
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
JniPeerMembers |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
Lenient |
이 작성기에 완화된 구문 규칙이 있으면 true를 반환합니다. -또는- 구문 규칙을 완화하도록 이 작성기를 구성합니다. |
PeerReference |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Object) |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Object) |
메서드
BeginArray() |
새 배열 인코딩을 시작합니다. |
BeginArrayAsync() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
BeginObject() |
새 개체 인코딩을 시작합니다. |
BeginObjectAsync() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
Close() |
이 작성기와 기본 |
Dispose() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
Dispose(Boolean) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
EndArray() |
현재 배열 인코딩을 종료합니다. |
EndArrayAsync() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
EndObject() |
현재 개체 인코딩을 종료합니다. |
EndObjectAsync() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
Flush() |
버퍼링된 모든 데이터가 기본 |
FlushAsync() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
GetHashCode() |
개체의 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
Name(String) |
속성 이름을 인코딩합니다. |
NameAsync(String) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
NullValue() |
를 인코딩합니다 |
NullValueAsync() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
SetIndent(String) |
인코딩된 문서의 각 들여쓰기 수준에 대해 반복할 들여쓰기 문자열을 설정합니다. |
ToArray<T>() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnregisterFromRuntime() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
Value(Boolean) |
를 인코딩합니다 |
Value(Double) |
를 인코딩합니다 |
Value(Int64) |
를 인코딩합니다 |
Value(Number) |
를 인코딩합니다 |
Value(String) |
를 인코딩합니다 |
ValueAsync(Boolean) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
ValueAsync(Double) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
ValueAsync(Int64) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
ValueAsync(Number) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
ValueAsync(String) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
Wait() |
현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IJavaPeerable.Disposed() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
IJavaPeerable.Finalized() |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
IJavaPeerable.JniManagedPeerState |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. (다음에서 상속됨 Object) |
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |
GetJniTypeName(IJavaPeerable) |
한 번에 하나의 토큰인 스트림에 JSON(RFC 4627) 인코딩 값을 씁니다. |