JSON encoding and decoding without the use of Foundation in pure Swift.
⚠️ pure-swift-json
was moved to swift-extras and got a new name: swift-extras-json
. The library PureSwiftJSON
has been renamed to ExtrasJSON
.
Other Changes:
PSJSONDecoder
has been renamed to XJSONDecoder
PSJSONEncoder
has been renamed to XJSONEncoder
swiftformat
to a newer version #66⚠️ This release includes breaking api changes
DocumentReader
internal (#56)swift run -c release
in performance tests (#57) thanks @pokryfkaswiftformat
(#59)PSJSONEncoder
's and PSJSONDecoder
's userInfo
public (Added to public api) (#50 and #51)Thanks to @ktoso and @calebkleveter for reporting the issues fixed in this release!
⚠️ This release includes breaking api changes
JSONEncoder
and JSONDecoder
are now prefixed with PS
to remove naming conflicts with Foundation. (#48)PSJSONEncoder
is now a struct
(#47)PSJSONEncoder
can now encode into JSONValue
and PSJSONDecoder
can decode from JSONValue
(#46)JSONValue.debugDataTypeDescription
is now internal (#29 #45)PureSwiftJSON
. (#44)swiftformat
. This is enforced with CI (#43)This shall be one of the last releases before 1.0.0
. With the changes in the project structure and the renaming of the PSJSONEncoder
and PSJSONDecoder
, I hope that the coming changes will not be source breaking.
\u003C
was supported, now we support \u003c
as well (#42)JSONUnkeyedDecodingContainer
(#41)Fixed a couple of issues.
decodeFixedWithInteger()
-> decodeFixedWidthInteger()
(thx @rjchatfield) #22 #18encode<T: Encodable>(_ value: T)
in JSONSingleValueEncodingContainer (thx @adam-fowler) #20 #24JSONEncoder
nestedContainer()
and nestedUnkeyedContainer()
work #19 #25 (thx for reporting @adam-fowler)JSONEncoder
updates coding path #21 #25 (thx for reporting @adam-fowler)NaN
or Infinity
is encoded an error is thrown #13 (thx for reporting @dinhhungle)The very first release! Feedback highly welcome.