私の JSON オブジェクトは次のようになります。
{
id: 1
object:
{
object_id:1
key_for_1: "value for object type 1"
}
type: "object_type_1"
}
{
id: 2
object:
{
object_id:5
key_for_23: "value for object type 23"
}
type: "object_type_23"
}
したがって、基本的には、オブジェクトを解析する前に「型」が必要です。「オブジェクト」を取得する前に「タイプ」の値を確実に取得する方法はありますか?
JsonReader には、GSON とほとんど同じメソッドがあります。これが私がそれを解析している方法です:
public CustomObject(JsonReader reader) throws IOException {
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("id")) {
clId = reader.nextDouble();
}
else if (name.equals("object")) {
innerObject = new InnerObject(reader);
}
else if (name.equals("type")) {
type = reader.nextString();
}
}
reader.endObject();
}
返される実際の JSON オブジェクトが巨大であるため (上記のものは単なるサンプルです)、文字列ビルダーだけを使用したくありません。最初に StringBuilder を試してみましたが、かなりの数のメモリ不足の問題が発生しているため、JsonReader に移行したいと考えていました。
どんな助けでも素晴らしいでしょう。ありがとう