【问题标题】:Creating a JSON schema for Acumatica invoice creation with REST API使用REST API创建Acumatica发票创建的JSON架构
【发布时间】:2020-05-15 02:42:46
【问题描述】:

我正在尝试使用与 Acumatica 使用的定义相匹配的 Json.NET 创建 JSON 模式。当我序列化对象时,它解析为 {"KEY":"VALUE"},但 Acumatica 要求将其格式化为 {"KEY": {Value Keyword: "VALUE" }。

有人使用 Json.NET 创建架构来完成此任务吗?

【问题讨论】:

  • Value Keyword 是如何确定的?
  • 我强烈建议你不要进入这个洞,你将无法逃脱。使用 .NET api、OpenAPI (swagger) 或老式的 WSDL。这是一场你不会赢的战斗。
  • @JohnathanBarclay 如果我查看 swagger 文件,创建发票的定义包括:' "Customer": {"value": "string"} '在模式正文中。如果我使用 Json.NET 库序列化对象,它会将其解析为“客户”:“C008352”。我应该能够创建一个可以使用的模式定义,不是吗?还是我只需要遍历类的成员并手动创建一个有效的序列化字符串以传递给 API 的 Put 方法?

标签: c# json json.net acumatica


【解决方案1】:

据我所知,您无法构建将您的 POCO 转换为 Acumatica 接受的 JSON 的 模式。您要么必须使 POCO 适应 Acumatica 的期望(即,在每个属性中使用值包装器,就像 SOAP 生成的类一样),要么编写自定义 JsonConverter 以按照 Acumatica 想要的方式编写 POCO。

【讨论】:

  • 谢谢@Srogovtsev。由于我是 Acumatica 和 StackOverflow 的新手,我的问题可能会更好/不同。事实上,我正在寻找编写一个自定义 JsonConverter 并寻找帮助/资源。我手动构建了 JSON 字符串,并根据实体规范对其进行验证。如果有资源可以帮助我清理代码并使用 JsonConverter,我很高兴看到它。
猜你喜欢
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 2014-11-09
  • 2013-10-09
  • 1970-01-01
  • 2014-04-27
  • 1970-01-01
相关资源
最近更新 更多