Порядок словаря ключей в Swift 4 JSONEncoder - PullRequest
0 голосов
/ 01 июня 2018

Можно ли настроить кодировщик Swift JSON для использования порядка сортировки свойств структуры в качестве порядка сортировки ключей словаря в выводе JSON?По умолчанию он использует произвольный (но, казалось бы, не случайный) порядок, например ...

struct Example: Codable {
  let id: Int
  let name: String
  let createdAt: Date
  let comments: [String]
}

... приводит к ...

"example" : {
  "id" : 1,
  "name" : "Test",
  "comments" : [
    "Comment 1",
    "Comment 2"
  ],
  "createdAt" : 549539643.25327206
}

Я знаю, что семантически порядокне имеет значения, но я бы хотел оставить его для целей отладки.

1 Ответ

0 голосов
/ 01 июня 2018

JSONEncoder имеет outputFormatting свойство, вы можете сделать это,

let encoder = JSONEncoder()
encoder.outputFormatting = .sortedKeys

Я не пробовал, пожалуйста, попробуйте и дайте мне знать.

...