@@ -38,8 +38,8 @@ extension TestNSJSONSerialization {
38
38
func test_JSONObjectWithData_emptyObject( ) {
39
39
let subject = NSData ( bytes: UnsafePointer < Void > ( [ UInt8] ( [ 0x7B , 0x7D ] ) ) , length: 2 )
40
40
41
- let object = try ! NSJSONSerialization . JSONObjectWithData ( subject, options: [ ] ) as? [ NSObject : AnyObject ]
42
- XCTAssertEqual ( object? . keys . count, 0 )
41
+ let object = try ! NSJSONSerialization . JSONObjectWithData ( subject, options: [ ] ) as? NSDictionary
42
+ XCTAssertEqual ( object? . count, 0 )
43
43
}
44
44
45
45
//MARK: - Encoding Detection
@@ -66,7 +66,7 @@ extension TestNSJSONSerialization {
66
66
]
67
67
68
68
for (description, encoded) in subjects {
69
- let result = try ? NSJSONSerialization . JSONObjectWithData ( NSData ( bytes: UnsafePointer < Void > ( encoded) , length: encoded. count) , options: [ ] ) as? [ String : String ]
69
+ let result = try ? NSJSONSerialization . JSONObjectWithData ( NSData ( bytes: UnsafePointer < Void > ( encoded) , length: encoded. count) , options: [ ] )
70
70
XCTAssertNotNil ( result, description)
71
71
}
72
72
}
@@ -107,8 +107,8 @@ extension TestNSJSONSerialization {
107
107
let subject = " {} "
108
108
109
109
do {
110
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ NSObject : AnyObject ]
111
- XCTAssertEqual ( result? . keys . count, 0 )
110
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String : Any ]
111
+ XCTAssertEqual ( result? . count, 0 )
112
112
} catch {
113
113
XCTFail ( " Error thrown: \( error) " )
114
114
}
@@ -118,9 +118,9 @@ extension TestNSJSONSerialization {
118
118
let subject = " { \" hello \" : \" world \" , \" swift \" : \" rocks \" } "
119
119
120
120
do {
121
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String : String ]
122
- XCTAssertEqual ( result ? [ " hello " ] , " world " )
123
- XCTAssertEqual ( result ? [ " swift " ] , " rocks " )
121
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String : Any ]
122
+ XCTAssertEqual ( result ? [ " hello " ] as? String , " world " )
123
+ XCTAssertEqual ( result ? [ " swift " ] as? String , " rocks " )
124
124
} catch {
125
125
XCTFail ( " Error thrown: \( error) " )
126
126
}
@@ -131,7 +131,7 @@ extension TestNSJSONSerialization {
131
131
let subject = " [] "
132
132
133
133
do {
134
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String ]
134
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Any ]
135
135
XCTAssertEqual ( result? . count, 0 )
136
136
} catch {
137
137
XCTFail ( " Unexpected error: \( error) " )
@@ -142,9 +142,9 @@ extension TestNSJSONSerialization {
142
142
let subject = " [ \" hello \" , \" swift⚡️ \" ] "
143
143
144
144
do {
145
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String ]
146
- XCTAssertEqual ( result ? [ 0 ] , " hello " )
147
- XCTAssertEqual ( result ? [ 1 ] , " swift⚡️ " )
145
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Any ]
146
+ XCTAssertEqual ( result ? [ 0 ] as? String , " hello " )
147
+ XCTAssertEqual ( result ? [ 1 ] as? String , " swift⚡️ " )
148
148
} catch {
149
149
XCTFail ( " Unexpected error: \( error) " )
150
150
}
@@ -155,13 +155,13 @@ extension TestNSJSONSerialization {
155
155
let subject = " [true, false, \" hello \" , null, {}, []] "
156
156
157
157
do {
158
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ AnyObject ]
158
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Any ]
159
159
XCTAssertEqual ( result ? [ 0 ] as? Bool , true )
160
160
XCTAssertEqual ( result ? [ 1 ] as? Bool , false )
161
161
XCTAssertEqual ( result ? [ 2 ] as? String , " hello " )
162
162
XCTAssertNotNil ( result ? [ 3 ] as? NSNull )
163
- XCTAssertNotNil ( result ? [ 4 ] as? [ String : String ] )
164
- XCTAssertNotNil ( result ? [ 5 ] as? [ String ] )
163
+ XCTAssertNotNil ( result ? [ 4 ] as? [ String : Any ] )
164
+ XCTAssertNotNil ( result ? [ 5 ] as? [ Any ] )
165
165
} catch {
166
166
XCTFail ( " Unexpected error: \( error) " )
167
167
}
@@ -172,13 +172,13 @@ extension TestNSJSONSerialization {
172
172
let subject = " [1, -1, 1.3, -1.3, 1e3, 1E-3] "
173
173
174
174
do {
175
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Double ]
176
- XCTAssertEqual ( result ? [ 0 ] , 1 )
177
- XCTAssertEqual ( result ? [ 1 ] , - 1 )
178
- XCTAssertEqual ( result ? [ 2 ] , 1.3 )
179
- XCTAssertEqual ( result ? [ 3 ] , - 1.3 )
180
- XCTAssertEqual ( result ? [ 4 ] , 1000 )
181
- XCTAssertEqual ( result ? [ 5 ] , 0.001 )
175
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Any ]
176
+ XCTAssertEqual ( result ? [ 0 ] as? Double , 1 )
177
+ XCTAssertEqual ( result ? [ 1 ] as? Double , - 1 )
178
+ XCTAssertEqual ( result ? [ 2 ] as? Double , 1.3 )
179
+ XCTAssertEqual ( result ? [ 3 ] as? Double , - 1.3 )
180
+ XCTAssertEqual ( result ? [ 4 ] as? Double , 1000 )
181
+ XCTAssertEqual ( result ? [ 5 ] as? Double , 0.001 )
182
182
} catch {
183
183
XCTFail ( " Unexpected error: \( error) " )
184
184
}
@@ -188,7 +188,7 @@ extension TestNSJSONSerialization {
188
188
func test_deserialize_simpleEscapeSequences( ) {
189
189
let subject = " [ \" \\ \" \" , \" \\ \\ \" , \" \\ / \" , \" \\ b \" , \" \\ f \" , \" \\ n \" , \" \\ r \" , \" \\ t \" ] "
190
190
do {
191
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String ]
191
+ let result = ( try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Any ] ) ? . flatMap { $0 as? String }
192
192
XCTAssertEqual ( result ? [ 0 ] , " \" " )
193
193
XCTAssertEqual ( result ? [ 1 ] , " \\ " )
194
194
XCTAssertEqual ( result ? [ 2 ] , " / " )
@@ -205,8 +205,8 @@ extension TestNSJSONSerialization {
205
205
func test_deserialize_unicodeEscapeSequence( ) {
206
206
let subject = " [ \" \\ u2728 \" ] "
207
207
do {
208
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String ]
209
- XCTAssertEqual ( result ? [ 0 ] , " ✨ " )
208
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Any ]
209
+ XCTAssertEqual ( result ? [ 0 ] as? String , " ✨ " )
210
210
} catch {
211
211
XCTFail ( " Unexpected error: \( error) " )
212
212
}
@@ -215,8 +215,8 @@ extension TestNSJSONSerialization {
215
215
func test_deserialize_unicodeSurrogatePairEscapeSequence( ) {
216
216
let subject = " [ \" \\ uD834 \\ udd1E \" ] "
217
217
do {
218
- let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ String ]
219
- XCTAssertEqual ( result ? [ 0 ] , " \u{1D11E} " )
218
+ let result = try NSJSONSerialization . JSONObjectWithString ( subject) as? [ Any ]
219
+ XCTAssertEqual ( result ? [ 0 ] as? String , " \u{1D11E} " )
220
220
} catch {
221
221
XCTFail ( " Unexpected error: \( error) " )
222
222
}
0 commit comments