Skip to content

Commit d62fc6d

Browse files
committed
Fix sorting keys
1 parent b05e8a0 commit d62fc6d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Sources/Foundation/JSONEncoder.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,7 @@ extension JSONValue {
10111011
bytes.append(._closebracket)
10121012
case .object(let dict):
10131013
if #available(macOS 10.13, *), options.contains(.sortedKeys) {
1014-
let sorted = dict.sorted { $0.key < $1.key }
1014+
let sorted = dict.sorted { $0.key.compare($1.key, options: [.caseInsensitive, .diacriticInsensitive, .forcedOrdering, .numeric, .widthInsensitive]) == .orderedAscending }
10151015
self.writeObject(sorted, into: &bytes)
10161016
} else {
10171017
self.writeObject(dict, into: &bytes)
@@ -1073,7 +1073,7 @@ extension JSONValue {
10731073
bytes.append(._closebracket)
10741074
case .object(let dict):
10751075
if #available(macOS 10.13, *), options.contains(.sortedKeys) {
1076-
let sorted = dict.sorted { $0.key < $1.key }
1076+
let sorted = dict.sorted { $0.key.compare($1.key, options: [.caseInsensitive, .diacriticInsensitive, .forcedOrdering, .numeric, .widthInsensitive]) == .orderedAscending }
10771077
self.writePrettyObject(sorted, into: &bytes, depth: depth)
10781078
} else {
10791079
self.writePrettyObject(dict, into: &bytes, depth: depth)

0 commit comments

Comments
 (0)