I’m pretty sure JSON isn’t localized, so this isn’t a bug. Using anything but a . as a decimal separator isn’t valid JSON.
Jon > On Dec 18, 2017, at 1:04 PM, Jordan Rose via swift-users > <swift-us...@swift.org> wrote: > > (moving to more relevant list) > >> On Dec 18, 2017, at 08:51, Benoit Pereira da silva via swift-users >> <swift-us...@swift.org <mailto:swift-us...@swift.org>> wrote: >> >> Dear all >> >> I've found a serious Bug in JSONEncoder SR-6131 >> <https://bugs.swift.org/browse/SR-6631> and would like to fix it. >> This bug cause JSON encoding issues on Double when using a local that does >> not use dot as decimal separator e.g « fr_FR » (we use a coma) >> >> Demonstration of the issue : >> >> import Foundation >> >> // Required to call setLocale >> import Darwin >> >> // Let's set to french >> setlocale(LC_ALL,"fr_FR") >> >> struct Shot:Codable{ >> let seconds:Double >> } >> >> let shot = Shot(seconds: 1.1) >> >> do{ >> let data = try JSONEncoder().encode(shot) >> if let json = String(data:data, encoding:.utf8){ >> // the result is : "{"seconds":1,1000000000000001}" >> // The decimal separator should not be "," but "." >> print(json) >> } >> }catch{ >> print("\(error)") >> } >> >> exit(EX_OK) >> >> >> >> >> I would like to propose my fix, test it and, but i’m not mastering the >> contribution mechanism. >> >> Where should i start? >> >> I ve forked >> https://github.com/benoit-pereira-da-silva/swift-corelibs-foundation >> <https://github.com/benoit-pereira-da-silva/swift-corelibs-foundation> >> I have a very simple Unit test that demonstrates the issue. >> >> How can i test my >> >> >> Thanks >> >> >> >> >> >> Benoit Pereira da Silva >> Ultra Mobile Developer & Movement Activist >> Développeur Ultra Mobile & Militant du mouvement >> https://pereira-da-silva.com <https://pereira-da-silva.com/> >> >> <bannerp.jpg> >> >> >> >> ✄ -------------------------------- >> This e-mail is confidential. Distribution, copy, publication or use of this >> information for any purpose is prohibited without agreement of the sender. >> Ce message est confidentiel. Toute distribution, copie, publication ou usage >> des informations contenues dans ce message sont interdits sans agrément >> préalable de l'expéditeur. >> >> >> >> _______________________________________________ >> swift-users mailing list >> swift-us...@swift.org <mailto:swift-us...@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-users >> <https://lists.swift.org/mailman/listinfo/swift-users> > > _______________________________________________ > swift-users mailing list > swift-us...@swift.org <mailto:swift-us...@swift.org> > https://lists.swift.org/mailman/listinfo/swift-users > <https://lists.swift.org/mailman/listinfo/swift-users>
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev