<div dir="ltr"><div><div><div>Hi,<br></div><br></div>In the past when we serialize items between client and server,<br><br></div> we serialize "NumberOfValues" info and we also serialize data for each item as(Ex. componentItem) <br><pre class="gmail-code gmail-highlight gmail-js-syntax-highlight gmail-json gmail-white" style="box-sizing:border-box;overflow:auto;font-family:Menlo,"DejaVu Sans Mono","Liberation Mono",Consolas,"Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:13px;display:block;padding:9.5px;margin:0px 0px 16px;line-height:1.6em;word-break:break-all;color:rgb(46,46,46);background-color:rgb(255,255,255);border-color:rgb(240,240,240);border-style:solid;border-width:1px;border-radius:2px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial" lang="json"><code style="box-sizing:border-box;font-family:Menlo,"DejaVu Sans Mono","Liberation Mono",Consolas,"Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:inherit;padding:0px;color:inherit;background-color:transparent;border-radius:0px;white-space:pre;word-break:keep-all;margin-top:0px"><span id="gmail-LC1" class="gmail-line" style="box-sizing:border-box;margin-top:0px" lang="json"><span class="gmail-p" style="box-sizing:border-box;margin-top:0px">[</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-p" style="box-sizing:border-box">{</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-s2" style="box-sizing:border-box;color:rgb(221,17,68)">"Val"</span><span class="gmail-p" style="box-sizing:border-box">:</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-p" style="box-sizing:border-box">{</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-s2" style="box-sizing:border-box;color:rgb(221,17,68)">"Resource"</span><span class="gmail-p" style="box-sizing:border-box">:</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-s2" style="box-sizing:border-box;color:rgb(221,17,68)">"uuid-1"</span><span class="gmail-p" style="box-sizing:border-box">,</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-s2" style="box-sizing:border-box;color:rgb(221,17,68)">"Component"</span><span class="gmail-p" style="box-sizing:border-box">:</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-s2" style="box-sizing:border-box;color:rgb(221,17,68)">"uuid-2"</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-p" style="box-sizing:border-box">}</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-p" style="box-sizing:border-box">},{"UnsetVal": True}</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="err" style="box-sizing:border-box;color:rgb(166,23,23);background-color:rgb(227,210,210)">...</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-p" style="box-sizing:border-box">]</span></span></code></pre><div><div><div>which is pretty verbose as David has pointed out.<br></div><div><br></div><div>Actually since we serialize the values in the ComponentItem as a array, the array size would be naturally equal to the NumberOfValues. There is no need to repeat this info.</div><div><br></div><div>Meanwhile, it would be better to serialize the data as:</div><div><pre class="gmail-code gmail-highlight gmail-js-syntax-highlight gmail-json gmail-white" style="box-sizing:border-box;overflow:auto;font-family:Menlo,"DejaVu Sans Mono","Liberation Mono",Consolas,"Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:13px;display:block;padding:9.5px;margin:0px 0px 16px;line-height:1.6em;word-break:break-all;color:rgb(46,46,46);background-color:rgb(255,255,255);border-color:rgb(240,240,240);border-style:solid;border-width:1px;border-radius:2px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial" lang="json"><code style="box-sizing:border-box;font-family:Menlo,"DejaVu Sans Mono","Liberation Mono",Consolas,"Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:inherit;padding:0px;color:inherit;background-color:transparent;border-radius:0px;white-space:pre;word-break:keep-all;margin-top:0px"><span id="gmail-LC1" class="gmail-line" style="box-sizing:border-box;margin-top:0px" lang="json"><span class="gmail-p" style="box-sizing:border-box;margin-top:0px">[</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-p" style="box-sizing:border-box">[</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-s2" style="box-sizing:border-box;color:rgb(221,17,68)">"uuid-1"</span><span class="gmail-p" style="box-sizing:border-box">,</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-s2" style="box-sizing:border-box;color:rgb(221,17,68)">"uuid-2"</span><span class="gmail-p" style="box-sizing:border-box">],</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="err" style="box-sizing:border-box;color:rgb(166,23,23);background-color:rgb(227,210,210)">...</span><span class="gmail-w" style="box-sizing:border-box;color:rgb(187,187,187)"> </span><span class="gmail-p" style="box-sizing:border-box">]</span></span></code></pre></div><div><div>which is cleaner and easier.</div><div><br></div><div>Ideas?<br></div><div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr">Best regards<div>Haocheng</div><div><br></div><div>Haocheng LIU</div><div><span style="color:rgb(0,0,0);font-size:12.8px">Kitware, Inc.</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">R&D Engineer</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">21 Corporate Drive</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">Clifton Park, NY 12065-8662</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">Phone: </span><a href="tel:(518)%20881-4421" value="+15188814443" style="color:rgb(17,85,204);font-size:12.8px" target="_blank">518-881-4421</a><br></div></div></div></div></div>
</div></div></div></div></div>