c#使用正则表达式获取json中的数组
2016-12-27 10:47
232 查看
// 被解析的是参数json,json 是一个json字符串,包含了一个数组,形如[ { .... },{.....},{.....} ],本函数将json 数组解析到 list<string>,list中每个元素为 {....}
public List<string> getArrayFromJson(string json )
{
List<string> lst = new System.Collections.Generic.List<string>();
string pat=@( \[ ).*( \] )"; //【注意,这里的正则表达式无法正常显示,看下面的图】定义正则表达式,解析得到 [ 与 ] 之间的内容,内容包括 [ 和 ]
Match matched = Regex.Match(json.Replace("'", ""), pat, RegexOptions.IgnoreCase); //去掉json中单引号,然后解析得到 [ 与 ] 之间内容,保存在matched中
pat = @"(\{).*?(\})"; //解析得到 { 与 } 之间的内容,内容包括 { 和 };要注意这个 .*? 的写法, 附加的问号是表示尽可能短匹配,这很重要,否则返回最长匹配
// 将 matched 中的内容,利用正则表达式 解析出来,结果就是 每个{ 与 } 之间的内容【表示一个数组】。每个被解析出来的数组都保存在 matches 中
MatchCollection matches = Regex.Matches( matched.Value.Replace("[","").Replace("]",""), pat, RegexOptions.IgnoreCase);
// 得到每个matches 中的字符串
foreach (Match m in matches)
{
lst.Add(m.Value);
}
return lst;
}
public List<string> getArrayFromJson(string json )
{
List<string> lst = new System.Collections.Generic.List<string>();
string pat=@( \[ ).*( \] )"; //【注意,这里的正则表达式无法正常显示,看下面的图】定义正则表达式,解析得到 [ 与 ] 之间的内容,内容包括 [ 和 ]
Match matched = Regex.Match(json.Replace("'", ""), pat, RegexOptions.IgnoreCase); //去掉json中单引号,然后解析得到 [ 与 ] 之间内容,保存在matched中
pat = @"(\{).*?(\})"; //解析得到 { 与 } 之间的内容,内容包括 { 和 };要注意这个 .*? 的写法, 附加的问号是表示尽可能短匹配,这很重要,否则返回最长匹配
// 将 matched 中的内容,利用正则表达式 解析出来,结果就是 每个{ 与 } 之间的内容【表示一个数组】。每个被解析出来的数组都保存在 matches 中
MatchCollection matches = Regex.Matches( matched.Value.Replace("[","").Replace("]",""), pat, RegexOptions.IgnoreCase);
// 得到每个matches 中的字符串
foreach (Match m in matches)
{
lst.Add(m.Value);
}
return lst;
}
相关文章推荐
- 在C#中使用正则表达式自动匹配并获取所需要的数据
- C#使用正则表达式获取HTML代码中a标签里包含指定后缀的href的值
- 在C#中使用正则表达式自动匹配并获取所需要的数据 (转)
- 使用C#正则表达式获取必应每日图片地址
- 在C#中使用正则表达式自动匹配并获取所需要的数据
- 在C#中使用正则表达式自动匹配并获取所需要的数据
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [原创]在C#.net中使用正则表达式检验输入是否为数字
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- C#运用正则表达式智能获取html模版页中模版信息的应用
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [转帖]C#如何使用正则表达式来校验字段串输入的系列函数
- C#中使用正则表达式验证特殊字符
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- C#正则表达式的使用
- C#判断IP地址是否合法函数-使用正则表达式-2个
- C#判断IP地址是否合法函数-使用正则表达式-2个
- C#运用正则表达式智能获取html模版页中模版信息的应用