Parsing complex strings using the original method, JSON must use jsonmapper?

Source: Internet
Author: User
<span id="Label3"></p><p style="text-align: right;"><p style="text-align: right;">From the top of the data the original method to parse the complex string, JSON must use jsonmapper?</p></p><p><p></p></p><p style="font-size: 16px;"><p style="font-size: 16px;"><strong>Read Catalogue</strong></p></p> <ul> <ul> <li>1. Irregular Non-json string</li> <li>2. Key-value pair string splitting function</li> <li>3. Strings in complex JSON format</li> <li>4. Standard JSON format</li> <li>5. Summary</li> </ul> </ul><p><p>Often the data collected, will definitely encounter parsing string, including the entire page of html, or JSON and some non-standard JSON format ...</p></p><p><p>Previously used JSON serialization, sometimes need entity class, sometimes not, more trouble, I heard can use jsonmapper, parse into a dictionary format. however, used to use the most primitive method to parse the string, so here to share a few analytic cases. May be a bit of a function.</p></p><p><p><span style="font-family: 微软雅黑;">The most common use of parsing strings should be splite and replace. split, and then replace some quotation marks and the Like. Last Combination. In particular, the collection of time, often the HTML page to be extracted from a paragraph, many people may use regular expression, but not ah, also do not want to Learn. That had to be used in the original way, long time, also accumulated some experience or Function. Take a look at a few examples.<br></span></p></p>Back to Catalog<span style="font-family: 微软雅黑;"><span style="font-family: 微软雅黑;">1. Irregular Non-json string</span></span><p><p><span style="font-family: 微软雅黑;">First look at this example, the string is linked together, there is no line-break, in order to facilitate observation, line, The program is primitive together:<br></span></p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">123</td> <td class="code"><code class="html plain">[11101630,1532,14,‘0‘,‘0‘,3,‘2015,4,23,16,05,48‘,‘4‘,1,2,0,0],</code><code class="html plain">[11101631,1532,14,‘0‘,‘0‘,3,‘2015,4,23,16,09,48‘,‘0‘,,,0,0],</code><code class="html plain">[11101632,1532,14,‘0‘,‘0‘,3,‘2015,4,23,16,03,10‘,‘1‘,2,2,0,0]</code></td> </tr> </tbody> </table><p><p><span style="font-family: 微软雅黑;">First to analyze the characteristics of this string, you can find ideas oh:<br></span></p></p><p><p><span style="font-family: 微软雅黑;">1. Each set of data is in the [] bracket pair, each set of data with, number division, so eventually to form an array to visit oh.</span></p></p><p><p><span style="font-family: 微软雅黑;">2. Each group of data is basically used, number segmentation, string type and single quotation marks;</span></p></p><p><p><span style="font-family: 微软雅黑;">3. The 7th array is a whole, also use, number division, the whole is a string with quotation marks;</span></p></p><p><p><span style="font-family: 微软雅黑;">4. The 2nd set of data has a null value, directly with, the number is divided, so splite can not remove the empty value, otherwise the array length is not the same, the positioning is Chaotic.</span></p></p><p><p><span style="font-family: 微软雅黑;">Since the analysis is over, what about the idea?<br></span></p></p><p><p><span style="font-family: 微软雅黑;">1. Group directly split using], mark, and then each group to repalce off [and]. The main is the first and last;<br></span></p></p><p><p><span style="font-family: 微软雅黑;">2. Split within the group, use, mark the division, before coming out to replace the single quotation marks; otherwise, as a string, the quotation marks are also included;</span></p></p><p><p><span style="font-family: 微软雅黑;">3. As for the processing of the array, do not want to be too complex, after splitting, directly in the last add 1 elements, the fixed position 7-12 of the combination, so it may be convenient;</span></p></p><p><p><span style="font-family: 微软雅黑;">4. The length of each group is fixed because the null value has a placeholder. So the process of the time directly according to the position you want to COMBINE.</span></p></p><p><p><span style="font-family: 微软雅黑;">Here's a look at the code, C # version, relative to a line of code, look closely, LINQ is an artifact, really magic ... Said more are tears, why did not learn it earlier:<br></span></p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">1234567891011</td> <td class="code"><code class="c# plain"><code class="c# plain">String str = </code></code><code class="c# string"><code class="c# string">@"[11101630,1532,14,‘0‘,‘0‘,3,‘2015,4,23,16,05,48‘,‘4‘,1,2,0,0],[11101631,1532,14,‘0‘,‘0‘,3,‘2015,4,23,16,09,48‘,‘0‘,,,0,0],[11101632,1532,14,‘0‘,‘0‘,3,‘2015,4,23,16,03,10‘,‘1‘,2,2,0,0]"</code></code><code class="c# plain"><code class="c# plain">;</code></code><code class="c# keyword"><code class="c# keyword">var</code></code><code class="c# plain"><code class="c# plain">result = str.Split(</code></code><code class="c# keyword"><code class="c# keyword">new</code></code><code class="c# keyword"><code class="c# keyword">string</code></code><code class="c# plain"><code class="c# plain">[] { </code></code><code class="c# string"><code class="c# string">"],"</code></code><code class="c# plain"><code class="c# plain">}, StringSplitOptions.None)  </code></code><code class="c# comments"><code class="c# comments">//先整体分割组</code></code><code class="c# spaces"><code class="c# spaces">                </code></code><code class="c# plain"><code class="c# plain">.Select(n => n.Replace(</code></code><code class="c# string"><code class="c# string">"["</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">)  </code></code><code class="c# comments"><code class="c# comments">//以下是组内分割,并去掉其他干扰字符</code></code><code class="c# spaces"><code class="c# spaces">                </code></code><code class="c# plain"><code class="c# plain">.Replace(</code></code><code class="c# string"><code class="c# string">"]"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">)</code></code><code class="c# spaces"><code class="c# spaces">                </code></code><code class="c# plain"><code class="c# plain">.Replace(</code></code><code class="c# string"><code class="c# string">"\‘"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">)</code></code><code class="c# spaces"><code class="c# spaces">                </code></code><code class="c# plain"><code class="c# plain">.Split(</code></code><code class="c# string"><code class="c# string">‘,‘</code></code><code class="c# plain"><code class="c# plain">).ToList())</code></code><code class="c# spaces"><code class="c# spaces">                </code></code><code class="c# plain"><code class="c# plain">.Select(n =>     </code></code><code class="c# comments"><code class="c# comments">//对中间一个整体单独提取,进行组合,单独增加一个元素</code></code><code class="c# spaces"><code class="c# spaces">                </code></code><code class="c# plain"><code class="c# plain">{</code></code><code class="c# spaces"><code class="c# spaces">                    </code></code><code class="c# plain"><code class="c# plain">n.Add(String.Format(</code></code><code class="c# string"><code class="c# string">"{0},{1},{2},{3},{4},{5}"</code></code><code class="c# plain"><code class="c# plain">, n[6], n[7], n[8], n[9], n[10], n[11]));</code></code><code class="c# keyword"><code class="c# keyword">return</code></code><code class="c# plain"><code class="c# plain">n;</code></code><code class="c# spaces"><code class="c# spaces">                </code></code><code class="c# plain"><code class="c# plain">}).ToList();</code></code></td> </tr> </tbody> </table><p><p>See how the results look:</p></p><p style="text-align: center;"><p style="text-align: center;"></p></p>Back to Table of Contents 2. Key-value pair string splitting function<p><p>Because the JSON data format is a Key-value pair string, so here is deliberately to share a frequently used partition function, without the JSON component, then the simple way to do One. This function is derived from newlife.core and is an important part of the X Component. Source part but many explanations, that is, according to the rules of the key value of the direct segmentation is kept in the dictionary, the use of methods you can experiment with yourself, or refer to the following cases, are useful to this method. The code below, for ease of use, is written as an extension method:</p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">12345678910111213141516171819202122232425262728293031</td> <td class="code"><code class="c# keyword"><code class="c# keyword">public</code></code><code class="c# keyword"><code class="c# keyword">static</code></code><code class="c# keyword"><code class="c# keyword">class</code></code><code class="c# plain"><code class="c# plain">StringHelper</code></code><code class="c# plain"><code class="c# plain">{</code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# color1"><code class="c# color1">/// <summary>拆分字符串成为名值字典</summary></code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# color1"><code class="c# color1">/// <param name="str">要分割字符串的</param></code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# color1"><code class="c# color1">/// <param name="nameValueSeparator">键值对的分隔符</param></code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# color1"><code class="c# color1">/// <param name="separators">分割字符</param></code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# color1"><code class="c# color1">/// <returns>键值对字典</returns></code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# keyword"><code class="c# keyword">public</code></code><code class="c# keyword"><code class="c# keyword">static</code></code><code class="c# plain"><code class="c# plain">IDictionary<String, String> SplitAsDictionary(</code></code><code class="c# keyword"><code class="c# keyword">this</code></code> <code class="c# plain"><code class="c# plain">String str, String nameValueSeparator = </code></code><code class="c# string"><code class="c# string">"="</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# keyword"><code class="c# keyword">params</code></code><code class="c# plain"><code class="c# plain">String[] separators)</code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# plain"><code class="c# plain">{</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# keyword"><code class="c# keyword">var</code></code><code class="c# plain"><code class="c# plain">dic = </code></code><code class="c# keyword"><code class="c# keyword">new</code></code><code class="c# plain"><code class="c# plain">Dictionary<String, String>();</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# keyword"><code class="c# keyword">if</code></code> <code class="c# plain"><code class="c# plain">(String.IsNullOrWhiteSpace(str)) </code></code><code class="c# keyword"><code class="c# keyword">return</code></code><code class="c# plain"><code class="c# plain">dic;</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# keyword"><code class="c# keyword">if</code></code><code class="c# plain"><code class="c# plain">(String.IsNullOrEmpty(nameValueSeparator)) nameValueSeparator = </code></code><code class="c# string"><code class="c# string">"="</code></code><code class="c# plain"><code class="c# plain">;</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# keyword"><code class="c# keyword">if</code></code><code class="c# plain"><code class="c# plain">(separators == </code></code><code class="c# keyword"><code class="c# keyword">null</code></code> <code class="c# plain"><code class="c# plain">|| separators.Length < 1) separators = </code></code><code class="c# keyword"><code class="c# keyword">new</code></code><code class="c# plain"><code class="c# plain">String[] { </code></code><code class="c# string"><code class="c# string">","</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">";"</code></code><code class="c# plain"><code class="c# plain">};</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# plain"><code class="c# plain">String[] ss = str.Split(separators, StringSplitOptions.RemoveEmptyEntries);</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# keyword"><code class="c# keyword">if</code></code><code class="c# plain"><code class="c# plain">(ss == </code></code><code class="c# keyword"><code class="c# keyword">null</code></code> <code class="c# plain"><code class="c# plain">|| ss.Length < 1) </code></code><code class="c# keyword"><code class="c# keyword">return</code></code><code class="c# keyword"><code class="c# keyword">null</code></code><code class="c# plain"><code class="c# plain">;</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# keyword"><code class="c# keyword">foreach</code></code><code class="c# plain"><code class="c# plain">(</code></code><code class="c# keyword"><code class="c# keyword">var</code></code><code class="c# plain"><code class="c# plain">item </code></code><code class="c# keyword"><code class="c# keyword">in</code></code><code class="c# plain"><code class="c# plain">ss)</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# plain"><code class="c# plain">{</code></code><code class="c# spaces"><code class="c# spaces">            </code></code><code class="c# plain"><code class="c# plain">Int32 p = item.IndexOf(nameValueSeparator);</code></code><code class="c# spaces"><code class="c# spaces">            </code></code><code class="c# comments"><code class="c# comments">// 在前后都不行</code></code><code class="c# spaces"><code class="c# spaces">            </code></code><code class="c# keyword"><code class="c# keyword">if</code></code><code class="c# plain"><code class="c# plain">(p <= 0 || p >= item.Length - 1) </code></code><code class="c# keyword"><code class="c# keyword">continue</code></code><code class="c# plain"><code class="c# plain">;</code></code><code class="c# spaces"><code class="c# spaces">            </code></code><code class="c# plain"><code class="c# plain">String key = item.Substring(0, p).Trim();</code></code><code class="c# spaces"><code class="c# spaces">            </code></code><code class="c# plain"><code class="c# plain">dic[key] = item.Substring(p + nameValueSeparator.Length).Trim();</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# plain"><code class="c# plain">}</code></code><code class="c# spaces"><code class="c# spaces">        </code></code><code class="c# keyword"><code class="c# keyword">return</code></code><code class="c# plain"><code class="c# plain">dic;</code></code><code class="c# spaces"><code class="c# spaces">    </code></code><code class="c# plain"><code class="c# plain">}</code></code><code class="c# plain"><code class="c# plain">}</code></code></td> </tr> </tbody> </table><p><p>The above default key value pairs the symbol = number, according to the actual situation to modify, the JSON format is generally: Colon More.</p></p>Back to Table of Contents 3. Complex json-formatted strings<p><p>      The above example is relatively simple, this time to see a slightly more complex point, although it may be easy to do with jsonmapper, but try the most primitive method. or in accordance with the above thinking, first analysis of the characteristics of the string: <span style="font-family: Microsoft ya black;" the string is joined together, there no line-wrapping, in order to facilitate observation, newline, program original together: < span> </span></p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">1234567</td> <td class="code"><code class="html plain">{1074:[‘墨聯‘,‘墨联‘,‘MEX D1‘,‘#098000‘,‘98‘],</code><code class="html spaces"> </code><code class="html plain">2100:[‘美乙‘,‘美乙‘,‘USL D2‘,‘#E89B10‘,‘98‘],</code><code class="html spaces"> </code><code class="html plain">1024:[‘阿甲‘,‘阿甲‘,‘ARG‘,‘#00CCFF‘,‘98‘],</code><code class="html spaces"> </code><code class="html plain">1052:[‘哥倫甲‘,‘哥伦甲‘,‘COLCMA‘,‘#888500‘,‘98‘],</code><code class="html spaces"> </code><code class="html plain">1028:[‘K聯賽‘,‘K联赛‘,‘KORL‘,‘#F75000‘,‘98‘],</code><code class="html spaces"> </code><code class="html plain">1297:[‘球會友誼‘,‘球会友谊‘,‘CF‘,‘#5691D8‘,‘98‘],</code><code class="html spaces"> </code><code class="html plain">2085:[‘奧女甲‘,‘奧女甲‘,‘AFB‘,‘#D86220‘,‘97‘]}</code></td> </tr> </tbody> </table><p><p>or analyze the feature first, the format should be json-like, comparison rules:</p></p> <ol class=" list-paddingleft-2" style="list-style-type: decimal;"> <ol class=" list-paddingleft-2" style="list-style-type: decimal;"> <li><p>The group is used, the number is divided, there are {} bracket pairs before and after observation, and the string separates the groups;</p></li> <li><p>Key is an integer, the key value is through: number segmentation;</p></li> <li><p>The value is an array, with 5 elements, through, number split</p></li> <li><p>All have single quotes and need to be filtered out; no other special case;</p></li> </ol> </ol><p><p>Code resolution Process:</p></p> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">1234567</td> <td class="code"><code class="c# keyword"><code class="c# keyword">string</code></code><code class="c# plain"><code class="c# plain">text = </code></code><code class="c# string"><code class="c# string">@"{1074:[‘墨聯‘,‘墨联‘,‘MEX D1‘,‘#098000‘,‘98‘],2100:[‘美乙‘,‘美乙‘,‘USL D2‘,‘#E89B10‘,‘98‘],1024:[‘阿甲‘,‘阿甲‘,‘ARG‘,‘#00CCFF‘,‘98‘],1052:[‘哥倫甲‘,‘哥伦甲‘,‘COLCMA‘,‘#888500‘,‘98‘],1028:[‘K聯賽‘,‘K联赛‘,‘KORL‘,‘#F75000‘,‘98‘],1297:[‘球會友誼‘,‘球会友谊‘,‘CF‘,‘#5691D8‘,‘98‘],2085:[‘奧女甲‘,‘奧女甲‘,‘AFB‘,‘#D86220‘,‘97‘]}"</code></code><code class="c# plain"><code class="c# plain">;</code></code><code class="c# keyword"><code class="c# keyword">var</code></code><code class="c# plain"><code class="c# plain">dic = text.Replace(</code></code><code class="c# string"><code class="c# string">"\‘"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">).Split(</code></code><code class="c# keyword"><code class="c# keyword">new</code></code><code class="c# plain"><code class="c# plain">String[]{</code></code><code class="c# string"><code class="c# string">"],"</code></code><code class="c# plain"><code class="c# plain">}, StringSplitOptions.None) </code></code><code class="c# comments"><code class="c# comments">//先组分割</code></code><code class="c# spaces"><code class="c# spaces">              </code></code><code class="c# plain"><code class="c# plain">.Select(n => n.Replace(</code></code><code class="c# string"><code class="c# string">"{"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">).Replace(</code></code><code class="c# string"><code class="c# string">"}"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">) </code></code><code class="c# comments"><code class="c# comments">//将组里面的干扰字符过滤掉</code></code><code class="c# spaces"><code class="c# spaces">                            </code></code><code class="c# plain"><code class="c# plain">.Replace(</code></code><code class="c# string"><code class="c# string">"["</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">).Replace(</code></code><code class="c# string"><code class="c# string">"]"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">)</code></code><code class="c# spaces"><code class="c# spaces">              </code></code><code class="c# plain"><code class="c# plain">.SplitAsDictionary(</code></code><code class="c# string"><code class="c# string">":"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">"\""</code></code><code class="c# plain"><code class="c# plain">) </code></code><code class="c# comments"><code class="c# comments">//键值对处理,冒号分隔符</code></code><code class="c# spaces"><code class="c# spaces">              </code></code><code class="c# plain"><code class="c# plain">.ToDictionary(t => t.Key, t => t.Value.Split(</code></code><code class="c# string"><code class="c# string">‘,‘</code></code><code class="c# plain"><code class="c# plain">)</code></code><code class="c# comments"><code class="c# comments">//值再次进行分割,形成数组</code></code><code class="c# spaces"><code class="c# spaces">              </code></code><code class="c# plain"><code class="c# plain">)).ToArray();</code></code></td> </tr> </tbody> </table><p><p>See how the results are:</p></p><p style="text-align: center;"><p style="text-align: center;"></p></p>Back to Table of Contents 4. Standard JSON format<p><p>In the actual acquisition, you may encounter the direct url, The return is the JSON format, compare STANDARDS. For example, here is a link to the following page:</p></p><p><p>Http://d.dacai.com/zhishu/CorrectCorp.html?matchId=1899040&matchStatusId=41</p></p><p><p>Click to open, it looks like this:</p></p><p><p>This should be complex enough, we analyze, the larger, the source code against the Link:</p></p> <ol class=" list-paddingleft-2" style="list-style-type: decimal;"> <ol class=" list-paddingleft-2" style="list-style-type: decimal;"> <li><p>Each large set of data, is used, the number is divided; the whole is also the brace pair {}, there are 4 large classes, the key distribution Is: Indbodans,indevengoals,indgoalss,indhalffulls.</p></li> <li><p>Each group of subclasses, including the same type of data, each sub-data group has n multiple small key-value pairs, such as matchid,corpid, etc., using}, you can split</p><p>After the analysis is done how to solve, the idea is similar, first the whole division, use}, and then each of the same as the key, the value is again split ... form a list of Dictionaries. The quotation marks also need to be filtered, as for the numeric type, the actual use of that time, are based on key to find, and then convert conversion can Be. Look at the source code:</p></li> </ol> </ol> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="gutter">1234567</td> <td class="code"><code class="c# keyword"><code class="c# keyword">var</code></code><code class="c# plain"><code class="c# plain">dicList = doc.Split(</code></code><code class="c# string"><code class="c# string">"{\"IndBodans\":["</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">"],\"IndEvenGoals\":["</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# comments"><code class="c# comments">//大类分割</code></code><code class="c# spaces"><code class="c# spaces">                        </code></code><code class="c# string"><code class="c# string">"],\"IndGoalss\":["</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">"],\"IndHalfFulls\":["</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">"]}"</code></code><code class="c# plain"><code class="c# plain">)</code></code><code class="c# spaces"><code class="c# spaces">            </code></code><code class="c# plain"><code class="c# plain">.Select(n => n.Replace(</code></code><code class="c# string"><code class="c# string">"\""</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">).Split(</code></code><code class="c# string"><code class="c# string">"},{"</code></code><code class="c# plain"><code class="c# plain">)</code></code><code class="c# comments"><code class="c# comments">//对每个大类处理,先过滤,再分割为子类</code></code><code class="c# spaces"><code class="c# spaces">               </code></code><code class="c# plain"><code class="c# plain">.Select(k => k.Replace(</code></code><code class="c# string"><code class="c# string">"{"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">).Replace(</code></code><code class="c# string"><code class="c# string">"}"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">""</code></code><code class="c# plain"><code class="c# plain">)</code></code><code class="c# comments"><code class="c# comments">//对子类过滤</code></code><code class="c# spaces"><code class="c# spaces">                          </code></code><code class="c# plain"><code class="c# plain">.SplitAsDictionary(</code></code><code class="c# string"><code class="c# string">":"</code></code><code class="c# plain"><code class="c# plain">, </code></code><code class="c# string"><code class="c# string">","</code></code><code class="c# plain"><code class="c# plain">))</code></code><code class="c# comments"><code class="c# comments">//提取子类的键值对</code></code><code class="c# spaces"><code class="c# spaces">                  </code></code><code class="c# plain"><code class="c# plain">.ToArray()</code></code><code class="c# spaces"><code class="c# spaces">            </code></code><code class="c# plain"><code class="c# plain">).ToList();</code></code><code class="c# comments"><code class="c# comments">//列表</code></code></td> </tr> </tbody> </table><p><p>See how the results are resolved:</p></p><p style="text-align: center;"><p style="text-align: center;"></p></p><p><p>Note that there are elements that are empty and can be used without a tube. As for the number of key values in the array, which of the final category? Although not directly labeled, but this question to add a judgment on it, because each category of the key name is not the same, to see whether the corresponding key to determine the Category.</p></p>Back to Catalog<p><p>Parsing complex strings using the original method, JSON must use jsonmapper?</p></p></span>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.