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

Reply via email to