问题标签 [json-annotation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - 如果第一个为空,则将其他键的值存储在飞镖模型中 - Flutter
我正在使用该json_annotation
包来构建我的飞镖模型。
我有一种情况,我需要将 API 响应中的任一值存储在我的name
密钥中。
API 正在返回两个密钥alias
和name
. 在我的模型中,我需要以这样的方式存储值,如果alias
(非空)中有值,则name
(模型中)将有一个alias
值。否则,name
(来自 API)密钥将存储在模型的name
密钥中。
代码 -
有没有办法,我可以根据可用性将实际名称和别名存储到模型中的同一个键中?
我确实检查了JsonKey()
对象。但找不到解决办法。
flutter - 颤振运行 pub 运行 build_runner 构建失败
[使用json注解和可序列化][1]
[不理解错误][2]
json - 颤振json_serializable丢失文件
我似乎不明白为什么它显示错误我创建了两个不同的 .g.dart 文件
但对于这个文件,它显示了缺失的部分。[警告] lib/Model/Supermodel.dart 上的 json_serializable:json_serializable: 缺少“part 'Supermodel.g.dart';”。
flutter - 在 ChopperClient 颤振中添加多个转换器
我正在使用 json-annotation 为不同的响应集创建不同的 .g.dart 类。现在,当我使用 Chopper Client 发出请求并将响应映射到模型类时,我正在创建转换器。但我只能为斩波器客户端分配一个转换器。我想要实现的是使用 get_it 包来初始化 chopper 客户端。如何在发出不同请求时为斩波器客户端分配不同的转换器。 这是 get_it 包用于初始化类的基类。
base.dart
我正在使用 HomeModelConverter 发出 Get 请求并将响应映射到 HomeModelResponse 的这个 ChopperService 类,并且这个 HomeModelConverter 在上面的 chopper 客户端对象中分配。
home_api_service.dart
这是特定于 HomeModelResponse 的转换器类。在 decodeJson 函数中,我们明确提到它来解码到 HomeModelResponse。
home_model_converter.dart
这是 HomeModelResponse,传入的响应将自动映射到其中。
home_model_response.dart
上面的代码对 home_api_service 工作正常,我得到了正确的响应。 现在我想创建另一个服务,例如 AddApiService。这将有不同的转换器。如何在斩波器客户端中动态更改转换器。现在 HomeModelConverter 在初始化时是硬编码分配的。我不想为每个转换器创建多个 ChopperClient。卡在这里。或任何创建通用转换器的选项
如果有人可以建议这种方法是否可行,或者是否有更好的方法可以遵循。
flutter - Flutter 改造 DioError [DioErrorType.other]:预期类型为 'List 的值?',但得到了“字符串”类型之一
我的响应 json 如下
我已经使用如下改造
我像下面这样从这里打电话
我的代码有什么问题。请帮助我..
java - Spring boot @JsonProperty 通过 parent.child 路径映射嵌套对象
我有以下数据结构通过 Http 调用进入我的服务器
然后我有以下实体类
无论哪种方式,我都无法让 spring boot 与 json 属性文本匹配(这两个值始终为空)......这可行吗?如果可以,怎么办?
我需要生成的最终 JSON 如下
所以基本上我需要将我的孩子信息附加到父母身上。
更新 我能够通过使用自定义 JsonDeserializer 来获得与父级扁平化的属性之一,如下所示
这仅适用于每个类使用 @JsonDeserialize(using = nameDeserializre.class)设置的一个属性......一旦我将两个反序列化器附加到两个属性,我开始收到有关 json 异常的错误。
谢谢
flutter - 我们可以使用 json_serializable 包来序列化和反序列化用户模型吗?
生成部分“UserModel.g.dart”后;成功,我在尝试做时遇到以下错误
这是我的 UserModel.dart,文件中没有任何错误。
当然,我可以手动映射每个值。但正如这里建议的那样https://flutter.dev/docs/development/data-and-backend/json,以防止
当您的项目变得更大时,手动解码效果不佳。手动编写解码逻辑会变得难以管理且容易出错。如果您在访问不存在的 JSON 字段时出现拼写错误,您的代码会在运行时引发错误。
我使用插件 json_serializable 对其进行自动化处理。但我收到以下错误:预期类型为“Map<String, dynamic>”的值,但得到类型为“UserModel$”的值之一
这个错误是由于不兼容而导致的还是我做错了什么?请回复。非常感谢。:)
openapi-generator - 为openapi生成的模型类添加注解
我需要使用 openapi 生成 APIclient,但是对于生成的某些模型类,我需要添加实现休息请求所需的额外注释,例如:
有些属性可以有空值,所以我只想包含 NONNULL 值,还需要忽略示例中的一些属性。如何在不修改生成的模型的情况下实现这一点,有没有办法使用 openapi 生成器进行这一生成。提前致谢。
java - 在 JSON 中使用变量并在 POJO 中基于节进行反序列化
我在下面定义了一个示例 JSON -
我有一个公共部分和另外两个部分(section1和section2)。两个部分共有的数据在公共部分中定义。我必须将此 JSON 反序列化为 POJO。根据将作为参数传递的部分,应该为这些部分反序列化变量的值。如果我将 section1 作为参数传递,数据应该看起来像 -
如果我将 section2 作为参数传递,数据应该看起来像 -
我想知道这是否可以使用 Java 中的任何 JSON 注释来实现?
flutter - Flutter Freezed 模型升级后的 JsonSerializable 和 JsonKey 问题
我的应用程序运行正常,但是在 pub upgrade --major-versions 之后,我在所有模型上都遇到了问题。示例模型:
问题:
为了让它能在几周前的上一次升级中工作,我在pubspec.yaml中为json_annotation: '4.0.1' 和json_serializable: '4.1.4' 设置了一个固定版本,但我想知道是否还有其他方法更新这些软件包没有任何问题。
我错过了什么,我怎样才能达到与使用冻结之前相同的效果?