我的 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 的原因。
任何帮助都是极好的。谢谢