Java 如何使用Twitter4j存储和加载用户
在Twitter4j中,您会得到如下用户对象:Java 如何使用Twitter4j存储和加载用户,java,twitter4j,Java,Twitter4j,在Twitter4j中,您会得到如下用户对象: User user = twitter.showUser(userID); 现在,我想把这个用户存储在一个文本文件中。我正在使用User的toString()方法 它给了我如下的信息: UserJSONImpl{id=xxxxxx, name='xxxx xxxxx', screenName='xxxxxx', ... } 问题: 使用User的toString()方法进行存储是否合法 如何使用此UserJSONImpl文本加载用户?我需要像下
User user = twitter.showUser(userID);
现在,我想把这个用户存储在一个文本文件中。我正在使用User
的toString()
方法
它给了我如下的信息:
UserJSONImpl{id=xxxxxx, name='xxxx xxxxx', screenName='xxxxxx', ... }
问题:
User
的toString()
方法进行存储是否合法UserJSONImpl
文本加载用户?我需要像下面这样的东西:UserJSONImpl{id=xxxxxx, name='xxxx xxxxx', screenName='xxxxxx', ... }
用户用户=新用户(UserJSONImpl) 我认为直接依赖于
toString()
是个坏主意,因为对该方法的更改超出了您的控制范围。例如,如果格式更改或添加了新字段,该怎么办?您如何知道何时开始反序列化数据
您可以使用库以标准格式编写用户
对象,例如用于编写JSON-但这仍然不好,您必须处理用户
对象,它是用户
的内部表示形式
无论哪种方式,您都可能面临User
对象发生更改的风险。我会考虑使用<代码>用户< /Cord>对象来构建与问题域相关的对象,然后继续这些对象。
其思想是负责
Twitter4J用户->问题域对象
转换的组件可以处理不同的Twitter4J用户
对象,并为应用程序提供一致的视图。虽然没有更多的背景,这可能是完全的矫枉过正,你应该能够更好地判断这一点。我希望这能有所帮助 为什么Twitter4j
没有用自己的输出初始化用户的官方功能?这是一个奇怪的问题吗?@zagy从图书馆的角度来看,User
对象的唯一来源是Twitter,因此它隐藏了结构(例如在UserJSONImpl
中)。我们的期望是,您将使用库创建的对象,而不是自己构建它们。您找到了解决方案吗?