在Twitter4j中,您将获得如下的用户对象,
User user = twitter.showUser(userID);
现在,我想将此用户存储在文本文件中。我正在使用toString()
的{{1}}方法。
它给了我以下内容:
User
问题:
使用UserJSONImpl{id=xxxxxx, name='xxxx xxxxx', screenName='xxxxxx', ... }
toString()
方法存储合法目的吗?
如何使用此User
文字加载用户?我需要以下内容:
User user = new User(UserJSONImpl);
答案 0 :(得分:0)
我认为直接依赖toString()
这是一个坏主意,因为此方法的更改不受您的控制。例如,如果格式更改或添加了新字段,该怎么办?你怎么知道什么时候反序列化数据?
您可以使用库以标准格式编写User
个对象,例如使用GSON来编写JSON - 但它仍然不好,您必须处理UserJSONImpl
对象,它是User
的内部表示。
无论哪种方式,您仍然可能会面临User
对象发生变化的风险。我会考虑使用User
对象来构建与问题域相关的对象,然后保留这些对象。
我们的想法是,负责Twitter4J User -> problem domain object
转换的组件可以处理不同的Twitter4J User
对象,并为您的应用程序提供一致的视图。虽然没有更多的背景,这可能是完全矫枉过正的,但你应该能够更好地判断它。我希望这有点帮助!