问题标签 [jsonencoder]

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.

0 投票
1 回答
40 浏览

php - 如何获得正确的json?

我不知道 php 和 JSON 我想要一个如下的结果

如何在我的 json 中添加数组employeelist

我的php代码

我收到如下回复

我怎样才能得到正确的结果?

0 投票
1 回答
539 浏览

swift - 是否可以仅为枚举创建自定义 Swift KeyEncodingStrategy?

2019 年 6 月 20 日更新:感谢@rudedog,我找到了一个可行的解决方案。我在我原来的帖子下面附加了实现......


请注意,我不是在您的结构/枚举声明中寻找“使用私有枚举 CodingKeys:字符串,CodingKey”。

我有一种情况,我调用的服务需要UPPER_SNAKE_CASE所有枚举的上端蛇形大小写()。

鉴于以下情况struct

任何请求中的所有枚举都应转换为 UPPER_SNAKE_CASE。

例如,let request = Request(foo: true, barId: testGroup)发送时应最终如下所示:

我想提供一个JSONEncoder.KeyEncodingStrategy只适用于enum类型的自定义。

至少根据 Apple 的JSONEncoder.KeyEncodingStrategy.custom(_:)文档,创建自定义策略似乎很简单。

这是我到目前为止所拥有的:

我一直试图确定 [CodingKey] 是否代表一个枚举,或者单个 CodingKey 是否代表一个枚举,因此应该成为 UPPER_SNAKE_CASE。

我知道这听起来毫无意义,因为我可以简单地提供硬编码的 CodingKeys,但是我们有很多服务调用,都需要对枚举案例进行相同的处理。为编码器指定自定义 KeyEncodingStrategy 会更简单。

理想的是申请JSONEncoder.KeyEncodingStrategy.convertToSnakeCase自定义策略,然后只返回大写的值。但同样,只有当该值代表一个枚举案例时。

有什么想法吗?


这是我在@rudedog 的帮助下解决我的问题的代码:

0 投票
2 回答
461 浏览

ios - 解码包含布尔值的枚举

我有这个 JSON 文件。

我创建了一个Month结构来解码 JSON 中的字典。

以及一个Year包含所有这些的结构。

我的Holiday结构有点复杂,因为有一个枚举HolidayType,我想type在 JSON 中的字段下解码值。

这是我加载文件和解码的地方。

但它失败并出现以下错误。

typeMismatch(Swift.Dictionary, Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: "Index 0", intValue: 0), CodingKeys(stringValue: "holidays", intValue: nil), _JSONKey(stringValue: "Index 0" , intValue: 0), CodingKeys(stringValue: "type", intValue: nil), CodingKeys(stringValue: "isNationalHoliday", intValue: nil)], debugDescription: "预期解码 Dictionary 但找到了一个数字。",底层错误:零))

我不知道如何解决这个问题。我还在这里上传了一个演示项目。

0 投票
1 回答
380 浏览

php - 为什么以前使用 json_encode 响应时使用 wp_send_json() 可以解决我的问题?

我编写了一个 PHP 类来处理 CSV 文件并上传条目。最后一轮在文件中超过 15,000 行。

以前,在我的包装器中,我会像这样返回 json 响应:

当我们上传多达 2,000 行的文件时,这工作得很好。最近,我们上传了一个包含 4,000 多行的文件,并且 json 响应永远不会打印 -response将是NULL. 经过数小时检查文件本身是否导致问题后,我选择使用以下

我的回复会按预期显示在屏幕上。我研究了该wp_send_json()方法并了解它是 WP 的预期用途。我的问题是为什么我以前的实现到现在都有效?我假设通过手动运行的响应json_encode()太大了?

我正在寻找对问题根源的深入了解,并更深入地了解我的解决方案为何有效。

0 投票
0 回答
757 浏览

json - 如何从 JSON 对象中的编码 URL 中删除转义字符

我正在尝试制作一个脚本,在 POST 请求中以 json 文档的形式发送数据。为此,我使用以下代码:

问题出在 mediaURL 上。当我对 url 进行编码时,它会将转义字符添加到 URL 字符串中。

第一次打印产量

然而,编码后的打印产生:

如何从 url 中删除转义字符?包含转义字符的 url 无法正确解析。

  • 我尝试将其添加为标头的一部分,但在对邮递员和应用程序进行测试后,我确定需要通过请求正文传递 url。
  • 我曾尝试设置编码键,但这会导致编码时不包含 url。
  • 我尝试将 URL 作为 URL 类型而不是 String 传递,但它仍然不起作用
0 投票
1 回答
107 浏览

ios - Swift:无法推断通用参数“T”

我有一个应用程序的 git 存储库,该应用程序运行正常并且在 iTunes 上可用。我最近想为其添加一些更新并将项目导入 xCode 10。当我尝试构建解决方案时,我收到错误“无法推断通用参数'T'”

我试图更新所有正在使用的 pod。

这是有错误的代码

并且错误似乎出现在这一行

我对 Swift 很陌生,只继承了这个项目,所以我不确定我应该用什么方法来解决这个问题。我查看了其他问题,但找不到适合我的解决方案。

0 投票
1 回答
491 浏览

php - 如何在 PHP 中 JSON 编码/解码后维护对象状态

以下方法将对象中的属性实例更改为数组,但要求有所不同,操作后的响应结果将相同。

在此处输入图像描述

0 投票
1 回答
848 浏览

ios - Swift 用于 JSONEncoder 的默认日期格式是什么?

这打印:

我在文档中找不到这应该代表什么。

0 投票
2 回答
3044 浏览

symfony - 错误:不支持 json 格式的序列化

我已经集成了 symfony messenger 包,我正在尝试对该消息进行编码。它在 Symfony 3.4.4 版本中工作。但是它在 Symfony 3.4.28 版本中给出了上述错误。我在 symfony serialzer 组件中进行了跟踪,似乎 jsonEncoder 没有在 serialzer.php 中列出,这导致了这个问题。

在 symfony 序列化程序组件中排除 json 编码器的原因是什么。见下文 DoctrineTransportSender:

0 投票
1 回答
332 浏览

ios - 将数组编码为 json 时的键顺序问题

你好,我是encoding数组,json所以我创建了如下模型类

我正在编码如下

并且使用此代码 json 编码成功,但当我打印编码字符串时未维护顺序,然后我得到如下输出

我想输出如下

谁能告诉我如何按照我的模型类维护秩序