【问题标题】:Is it a good practice to use models in GetX Flutter to parse JSON data?在 GetX Flutter 中使用模型来解析 JSON 数据是一种好习惯吗?
【发布时间】:2021-04-27 14:56:18
【问题描述】:

您好,我正在 Flutter 中创建一个应用程序,我从 API 接收 JSON 响应,我知道我们需要解析响应以在 Flutter 应用程序中使用,但我发现如果我们使用正常方式: jsonData['key'] 获取并显示数据,因为这样您可以轻松处理任何类型的响应,但是当我使用模型方式时,我面临很多问题,其中包括数据结构和数据类型。

而且我认为该模型仅提供了一个对象结构,您可以在其中以对象方式访问数据,例如 jsonData.key 而不是 jsonData['key'] 这只是我的想法,如果我在这里错了,您可以纠正我。

我只是想知道,如果我使用的是非模型方式,那么它是否会影响我的应用程序?

【问题讨论】:

  • idk 但每个人都讨厌 getx,因为它没有遵循 Flutter 的方式
  • 但我发现 GetX 是开发的瑰宝,因为它提供了很多开箱即用的功能,尤其是管理路由、状态管理、本地存储,以及一些更多实用程序,如小吃栏、对话框等. 这些是我使用 GetX 的主要原因。
  • 另外,这个问题不仅仅与 GetX 有关,因为我知道很多人正在使用并建议使用模型方式来解析应用程序的 JSON 数据。
  • @buncis Get 已于 2020 年 4 月 26 日发布到 pub.dev。 8 个月后,它成为 Flutter/Dart 中第二受欢迎的软件包(2875 个赞)。仅在 27 个月前发布了更多赞的软件包(Provider at 3260)。你确定每个人都讨厌Get吗?
  • @Baker 我以前并没有对此大惊小怪,但我认为这是因为像这些有争议的旧东西。 #4981#4982#4983,与问题无关,但应该删除。

标签: json flutter flutter-getx


【解决方案1】:

首先,这与 getX 无关。将 json 解析为模型要干净得多。您可以比较两个对象,但如何比较两个 json?

如果您需要创建对象的实例,如果没有模型,您将如何做到这一点?你将如何将它传递给另一个类或函数?我认为这些问题的答案将解决您的困境。

【讨论】:

    【解决方案2】:

    模型没有弹性。如果修改了 api,你的代码总是会中断。

    【讨论】:

      【解决方案3】:

      使用Object 是一种很好的做法,因为它有助于利用强类型语言。这使您可以拥有更好的调试过程,在编写时间(和编译时间)捕获潜在错误。这与您选择的状态管理包无关。

      【讨论】:

        猜你喜欢
        • 2018-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-11
        • 2016-06-25
        • 2019-10-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多