【发布时间】:2018-07-17 14:36:04
【问题描述】:
这可能是一个奇怪的问题,因为它特定于 JSON 字符串本身,而不是它们所代表的对象。给定一个“漂亮打印”的 JSON 字符串(代表 任何 JSON 编码模型),如何将其重新格式化为“紧凑”格式?
我的第一个想法是不考虑 JSON,而只是一个字符串,然后使用 RegEx 删除重复空格、删除换行符等,但这不是上下文感知的,因此它可能会影响 JSON 的键和值部分如果您没有正确测试您是否在引号内。
我的下一个想法是尝试从 JSON 构造一个对象,但没有要转换的类型,我不确定如何在不手动将值解析为“ANY”的情况下执行此操作,然后测试它们是否是一个数组,如果是,则递归到其中,重复该过程。然后,一旦我有了最终对象,就以紧凑的形式序列化结果。但是,这似乎有些矫枉过正。
有没有更简单的方法来做到这一点?如果有帮助,我们正在使用 Swift 4。
【问题讨论】: