通过解析Swift iOS中的JSONschema,在Dictionary中保存键的原始顺序

时间:2018-01-17 08:10:53

标签: ios json swift parsing jsonschema

在我的项目中,我必须解析来自服务器的JSON模式。 它有对象“属性”,实际上在花括号中类似于Dictionary。当然,JSONSerialization.jsonObject将其解析为Dictionary

一切看起来都不错,但是:我使用这些属性来构建我的视图(它定义了由用户填写的字段)。最后,我必须保存这些字段的顺序!但是,正如我们所知,在将对象解析为Dictionary之后,它会立即失去键顺序。有人知道如何解析这些对象,保存字段顺序吗?

其他信息:

属性的结构是由用户在WEB中构建的,因此对于移动客户端来说,它们的计数是绝对随机的。此外,属性中的每个对象(例如,组)都可以具有自己的属性,包含其他对象。所以我们有绝对随机的嵌套对象树。他们的命令对我们来说是必要的。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您不关心互操作性,意味着第三方也能够依赖订单,您可以尝试找到一个保留订单的解析器(例如通过Python将其读入OrderedMap而不是常规dict-显然这会因语言而异。)

如果你关心第三方,那就太棘手了。作为回应的最后一个人,JSON本身并不支持这一点,就解析而言,JSON Schema只是JSON。