<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Hi Norio, thank you for your answer.</div>
<div class=""><br class="">
</div>
<div class="">I’ve looked thought you library. So, basically, you took/copied the source code of JSONDecoder/JSONEncoder.</div>
<div class="">Now I’m using&nbsp;<a href="https://github.com/Hearst-DD/ObjectMapper" class="">ObjectMapper</a>. I don’t want to replace the one with you library. I wish I could remove this dependency at all.</div>
<div class="">By the way, your library doesn’t support the decoding strategies (DateDecodingStrategy, DataDecodingStrategy, ect.)</div>
<div class=""><br class="">
</div>
<div class="">I hope, swift team will extend JSONDecoder in the next swift update.</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 10 Nov 2017, at 02:44, Norio Nomura &lt;<a href="mailto:norio.nomura@gmail.com" class="">norio.nomura@gmail.com</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">Hi Vladimir,
<div class=""><br class="">
</div>
<div class="">FYI, I also wanted to decode directly from NSDictionary and NSArray, so I made
<a href="https://github.com/norio-nomura/ObjectEncoder" class="">https://github.com/norio-nomura/ObjectEncoder</a>.<br class="">
</div>
<div class="">It is a simpler implementation than JSONEncoder/JSONDecoder because it does not contain any functions to treat specific type specially.</div>
</div>
<div class="gmail_extra"><br class="">
<div class="gmail_quote">2017-11-10 1:37 GMT&#43;09:00 Vladimir Kushelkov via swift-corelibs-dev
<span dir="ltr" class="">&lt;<a href="mailto:swift-corelibs-dev@swift.org" target="_blank" class="">swift-corelibs-dev@swift.org</a>&gt;</span>:<br class="">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word" class="">
<div class="">1. Sometimes it is contently to be able to decode a struct or an object from&nbsp;<span style="color:rgb(36,41,46);background-color:rgb(255,255,255)" class="">a Foundation object (either NSArray or NSDictionary) that produce a valid JSON.</span></div>
<div class=""><span style="background-color:rgb(255,255,255)" class=""><font color="#24292e" class="">For example, if I use a 3d party library that provides&nbsp;</font></span><span style="background-color:rgb(255,255,255)" class=""><font color="#24292e" class=""><i class="">NSDictionary</i>&nbsp;to
 me. Due to&nbsp;</font></span><span style="color:rgb(36,41,46)" class=""><i class="">JSONDecoder</i> decodes only from
<i class="">Data</i>,</span><span style="background-color:rgb(255,255,255)" class=""><font color="#24292e" class="">&nbsp;in the first place I have to convert
<i class="">NSDictionary</i> to <i class="">Data</i>&nbsp;in order to use&nbsp;</font></span><font color="#24292e" class="">the one so far. But the decoder does the back action first thing.</font></div>
<div class=""><font color="#24292e" class="">I created&nbsp;</font><a href="https://github.com/apple/swift/pull/12791" target="_blank" class="">Pull Request</a><font color="#24292e" class="">, that was closed.</font></div>
<div class=""><font color="#24292e" class=""><br class="">
</font></div>
<div class=""><font color="#24292e" class=""><br class="">
</font></div>
<div class=""><font color="#24292e" class="">2. Is it possible to use&nbsp;</font><i style="color:rgb(36,41,46)" class="">JSONDecoder</i><font color="#24292e" class="">&nbsp;when I don’t know the type of a particular property of the required type?</font></div>
<div class=""><font color="#24292e" class="">For&nbsp;instance, if I develop a library that allows bi-directional communication between server and client. The library wraps transmitted data into an internal object in a way that one of the object’s properties is
 the</font><font color="#24292e" class="">&nbsp;data. So, the type of the property&nbsp;is unknown&nbsp;inside&nbsp;the library. I want to decode the internal object with JSONDecoder, but I can’t&nbsp;specify the type of one property.</font></div>
<div class=""><br class="">
</div>
</div>
<br class="">
______________________________<wbr class="">_________________<br class="">
swift-corelibs-dev mailing list<br class="">
<a href="mailto:swift-corelibs-dev@swift.org" class="">swift-corelibs-dev@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-corelibs-dev" rel="noreferrer" target="_blank" class="">https://lists.swift.org/<wbr class="">mailman/listinfo/swift-<wbr class="">corelibs-dev</a><br class="">
<br class="">
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</body>
</html>