2016-05-24 15 views
0

にDelimiteとグループJSON値ができ、私は、exのためはどのように私はasp.net

をdelimiteとJSON値以下に分類する必要があります。"sub3[+]888800"sub3は、カテゴリーコードであると888800は、カテゴリの要素です。

// prepare the data 
var json = "['sub3[+]888800','sub3[+]100000','06[+]888800','06[+]100000']"; 
var strs = JArray.Parse(json); 
// process the delimiter 
var items = 
    from str in strs.Select(x => (string)x) 
    let idx = str.IndexOf("[+]") 
    select new 
    { 
     tag = str.Substring(0, idx), 
     data = str.Substring(idx + 3) 
    }; 
// do the grouping 
var grps = 
    from item in items 
    group item by item.tag into grp 
    select new 
    { 
     tag = grp.Key, 
     items = grp.Select(x => x.data) 
    }; 
// output 
foreach (var grp in grps) 
    Console.WriteLine(grp.tag + " -> " + String.Join(", ", grp.items)); 

これらusing句で:私は次についてその

sub3 -> 888800, 100000 

06 - > 888800, 100000 






List<string> seledItems = this.ResetSeledItems(); 
      this.litDebug.Text = Newtonsoft.Json.JsonConvert.SerializeObject(seledItems); 
     var json = this.litDebug.Text; 
     var strs = JArray.Parse(json); 

    // process the delimiter 
    var items = 
     from str in strs.Select(x => (string)x) 
     let idx = str.IndexOf("[+]") 
     select new 
     { 
      tag = str.Substring(0, idx), 
      data = str.Substring(idx + 3) 
     }; 
    // do the grouping 
    var grps = 
     from item in items 
     group item by item.tag into grp 
     select new 
     { 
      tag = grp.Key, 
      items = grp.Select(x => x.data) 
     }; 
    foreach (var grp in grps) 
    { 
     string tag = grp.tag.ToString(); 

     for(int i=0;i<=3 ; i++) 
     { 
      string item = grp.items.ToString(); 
     } 
    } 

答えて

0

どのように帰着する必要が

["sub3[+]888800","sub3[+]100000","06[+]888800","06[+]100000"] 

返信用

using Newtonsoft.Json.Linq; 
using System; 
using System.Linq; 
+0

感謝。この行にエラーが発生しました strs.Select(x =>(string)x)のstrから charが文字列に変換できません –

+0

JSONは文字列の配列ではありませんか?実際に使用しているJSONは何ですか? – ycsun

+0

リスト seledItems = this.ResetSeledItems(); var strs = Newtonsoft.Json.JsonConvert.SerializeObject(seledItems); –