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();
}
}
感謝。この行にエラーが発生しました strs.Select(x =>(string)x)のstrから charが文字列に変換できません –
JSONは文字列の配列ではありませんか?実際に使用しているJSONは何ですか? – ycsun
リスト seledItems = this.ResetSeledItems(); var strs = Newtonsoft.Json.JsonConvert.SerializeObject(seledItems); –