1

在 Twitter4j 中,你会得到一个如下的用户对象,

User user = twitter.showUser(userID);

现在,我想将此用户存储在一个文本文件中。我正在toString()使用User.

它给了我如下信息:

UserJSONImpl{id=xxxxxx, name='xxxx xxxxx', screenName='xxxxxx', ... }

问题:

  1. 用于存储目的toString()的方法是否合法?User

  2. 如何使用此文本加载用户UserJSONImpl?我需要以下内容:

用户用户 = 新用户(UserJSONImpl);
4

1 回答 1

0

我认为直接依靠toString()这是一个坏主意,因为对这种方法的更改是你无法控制的。例如,如果格式更改或添加了新字段怎么办?你怎么知道什么时候反序列化数据?

您可以使用库以User标准格式编写对象,例如使用GSON编写 JSON - 但仍然不好,您必须处理UserJSONImpl作为User.

User无论哪种方式,您仍然可能面临对象更改的风险。我会考虑使用这些User对象来构建与问题域相关的对象,然后持久化这些对象。

这个想法是负责Twitter4J User -> problem domain object转换的组件可以处理不同Twitter4J User的对象并为您的应用程序提供一致的视图。尽管没有更多上下文,这可能完全是矫枉过正,但您应该能够更好地判断这一点。我希望这会有所帮助!

于 2013-06-27T08:56:32.843 回答