JSON使用GsonBuilder和InputStream Android只解析整个消息java的一个分支
我只是尝试通过Android的JSON与外部Web服务集成。我收到以下JSON格式: 我感兴趣的数据在“消息”分支中。 要访问我正在使用的数据,请执行以下操作:JSON使用GsonBuilder和InputStream Android只解析整个消息java的一个分支,java,android,json,parsing,Java,Android,Json,Parsing,我只是尝试通过Android的JSON与外部Web服务集成。我收到以下JSON格式: 我感兴趣的数据在“消息”分支中。 要访问我正在使用的数据,请执行以下操作: builder.setFieldNamingPolicy(FieldNamingPolicy.IDENTITY); Gson gson = builder.create(); ClassToStore response = gson.fromJson(reader, ClassToStore.class); 其中,reader是来自
builder.setFieldNamingPolicy(FieldNamingPolicy.IDENTITY);
Gson gson = builder.create();
ClassToStore response = gson.fromJson(reader, ClassToStore.class);
其中,reader是来自以下位置的输入流:
am = getInstrumentation().getContext().getAssets();
am.open("data.json");
消息结构如下所示:
ClassToStore的所有字段都具有相同的名称
我得到了所有的对象,但所有的主题都是空的
请帮助:(
我的classToStore:
公共静态类ClassToStore实现了可序列化{
私有静态最终长serialVersionUID=-1463052486583654136L
public String id ;
public String replied_to_id ;
public String sender_id ;
public String created_at ;
public String getId() {
return id;
}
public String getReplied_to_id() {
return replied_to_id;
}
public String getSender_id() {
return sender_id;
}
public String getCreated_at() {
return created_at;
}
}您需要一个额外的类来匹配外部对象:
public class OuterObject {
List<ClassToStore> messages;
}
公共类外部对象{
列出信息;
}
然后像这样加载它:
Gson gson = new Gson();
Type type = new TypeToken<List<OuterObject>>(){}.getType();
List<OuterObject> outerList = gson.fromJson(reader, type);
List<ClassToStore> listOfMessages = outerlist.get(0).messages;
Gson-Gson=new-Gson();
Type Type=new-TypeToken(){}.getType();
List outerList=gson.fromJson(读取器,类型);
listOfMessages=outerlist.get(0).messages;
请提供ClassToStore
代码。请查看上面刚刚更新的内容。