当前位置: 首页 > 知识库问答 >
问题:

哪一个更好:使用数组列表中的映射或pojo类与json响应交互

米夕
2023-03-14

我有点困惑,因为从很长一段时间以来,我直接将json响应保存到ArrayList

共有2个答案

孙和安
2023-03-14

>

  • 因此,由于OOP模式,Pojo的使用更好,因为您在运行时使用Java对象而无需中间Json解析。由于代码风格,手动json解析太难看了(这是我的观点)。
  • <块引用>

    但是如果将响应直接保存到数组列表可以完成我的工作

    如果在地图中收集对象,可以对地图应用不同的即时功能(排序、比较等),但以防地图包含POJO而不是JSON。

    4.对象缩放和映射:让我们想象我们有一些对象用户:

    public class User{
      int id;
    
      @SerializedName("specific_id_for_blah_blah")
      private int mSpecId
    
      @SerializedName("date_of_birthaday")
      private String mBDay;
    
    
      public Date getBirthday() {
        return new Date(mBDay); 
      }
    }
    

    通过这个例子我想说的。

    >

    名称序列化。当您的回复包含看起来很长或很奇怪的键名时,您可以使用自己的样式命名,只需稍加注释即可轻松更改。mSpecId返回“特定的”id“的值

  • 鲁熙云
    2023-03-14

    这里没有对错的答案。这完全取决于你的用例。如果你的解决方案有效,并且你对此感到满意,我不明白你为什么需要改变它。

    如果非要我选择,我会选择一个POJO类来表示响应,但这是一个主观的观点。我认为你有以下好处:

    1. 它更简洁——有一个单独的、专用的类来表示有效负载,这使您能够在代码中更加具体。您不再操作Maps个键值对,而是操作一个特定类的实例,该类可以有更具体的行为。您可以指定自然顺序、相等标准等,这些可能对您的程序逻辑有用

    还有一些情况更适合非POJO方法——例如,如果你只显示数据,而不在应用程序内以任何方式操作数据。或者,如果您想节省一些时间来进行复杂的解析,而如果您试图扩大对象层次结构,则可能需要进行复杂的解析。

    我最好的建议是-分析您的应用程序,检查您的用例并做出明智的决定,哪种方法更好。

     类似资料:
    • JSONMappingException:无法反序列化com.demo.json.model.abc实例 编辑:我的POJO如下所示: 有人能提出解决办法吗? 有人能帮我做这个吗?

    • 我有一个API,它以以下格式返回JSON: 我还有一个POJO类,它具有与JSON响应的键对应的字段,因为、和键在我的用例中不相关。 是否可以将JSON响应映射到我的JavaPOJO类,即只映射键内的值? 一种可能的方法是接受String响应,并使用setter方法将其映射到我的POJO。 有更好的办法吗。像这样的

    • 问题内容: 我必须在内存中保留数千个字符串才能以Java顺序访问。我应该将它们存储在数组中还是应该使用某种List? 由于数组将所有数据保存在连续的内存块中(与列表不同),使用数组存储数千个字符串会不会引起问题? 问题答案: 我建议您使用探查器来测试哪个更快。 我个人认为您应该使用列表。 我在大型代码库上工作,以前的一组开发人员到处使用数组。它使代码非常不灵活。将其大块更改为列表后,我们注意到速度

    • 问题内容: 我必须在内存中保留数千个字符串才能以Java顺序访问。我应该将它们存储在数组中还是应该使用某种List? 由于数组将所有数据保存在连续的内存块中(与列表不同),使用数组存储数千个字符串会不会引起问题? 问题答案: 我建议您使用探查器来测试哪个更快。 我个人认为您应该使用列表。 我在大型代码库上工作,以前的一组开发人员到处使用数组。它使代码非常不灵活。将其大块更改为“列表”后,我们注意到

    • 我在使用Jersey客户端(1.11)和JSONConfiguration时遇到了一些问题。要素映射设置为true。我的测试代码如下所示: 在服务器上: 1) 我的网络。xml的POJO映射设置为true。 2) MyFooDTO只是一个如下所示的POJO: 3) MyFooCollectionWrapper如下所示: 我已经验证了服务器在创建Json响应时没有问题。如果将响应类型设置为Strin

    • 我基于这个例子测试了一个小的OSX应用程序,它使用到AppleScript的桥梁从iTunes获取简单的信息。 就像我在ComboDrums的评论中说的(是我),我有一个脚本可以将我所有的iTunes播放列表放在树上,但是一旦返回比简单的字符串更复杂,它就会失败。 因此,我正在寻找一种方法,将AppleScript的列表返回到一个Swift友好对象。 有什么想法吗? 谢谢。 脚本: