使用DataSnapshot.getValue()时,是否可以以Json格式获取JsonObjects或字符串?也许我的搜索不够彻底,但我找不到使用自定义序列化程序的方法.
解决方法:
更新:
我没有时间查看最新SDK的文档,但它看起来像there are some options for JSON fields.
DataSnapshot中的getValue()返回一个HashMap.
因此,在Firebase侦听器的任何方法中,您都可以:
>获取DataSnapshot的值,它将返回HashMap:
HashMap<String, JsONObject> dataSnapshotValue = (HashMap<String, JsONObject>) dataSnapshot.getValue();
>使用Gson将Hashmap转换为有效的JsON字符串:
String JsonString = new Gson().toJson(dataSnapshotValue);
>使用此有效的JsonString,根据需要进行投射:
final GsonBuilder gsonBuilder = new GsonBuilder();gsonBuilder.registerTypeAdapter(User.class, new UserSerializer());final Gson gson = gsonBuilder.create();User parsedUser = gson.fromJson(JsonString, User.class);
这使您可以使用任何想要从Firebase转换对象的内容,您可以使用自定义序列化程序,ExclusionStrategy,也可以直接从HashMap中检索某些值.
总结以上是内存溢出为你收集整理的android – 使用带有firebase的自定义JSON序列化程序全部内容,希望文章能够帮你解决android – 使用带有firebase的自定义JSON序列化程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)