{
"item": [
{
"media_id": "gmfnBxUDOD6IJkMyAduqokoDHxmAk5uXENr5AMNdHok",
"content": {
"news_item": [
{
"title": "测试图文一",
"author": "",
"digest": "如下原因会造成JSON校验失败,而且会让你不知道为什么失败JSON字符串里的非数字型键值没有双引号JSON中",
"content": "<p style=\"\">如下原因会造成JSON校验失败,而且会让你不知道为什么失败</p><ol style=\"\" class=\" list-paddingleft-2\"><li><p>JSON字符串里的非数字型键值没有双引号</p></li><li><p>JSON中存在\\t这样的制表符,看起来和空格一样,但是就是因为它的存在校验不通过。去掉就能过了。</p></li><li><p>编辑器有bom头也会造成</p></li><li><p>有这时间看这条,不如他么的进群和一千多个基友讨论",
"content_source_url": "",
"thumb_media_id": "gmfnBxUDOD6IJkMyAduqohvumT1_FFFs9uDdFWaKPYo",
"show_cover_pic": 1,
"url": "http://xxxxxxxxxxxxxxxxxxxx.com"
}
]
},
"update_time": 1436426485
},
{
"media_id": "nKkm8gAtMAE5etgqmvZb_aEWjXqf0j2cu9h9ZchtKjU",
"content": {
"news_item": [
{
"title": "as发大水介绍",
"author": "",
"digest": "Он иОна(俄文译名)他她蜜 高加索黑蜂 阿尔泰蜂蜜一大自然的恩赐!北京亿众亿千商贸有限公司意为"集千万",
"content": 老。外用美肤。</span></p><p><span style=\"font-family:宋体\">禁忌:开水冲服</span> <span style=\"font-family:宋体\">一周岁婴幼儿禁服</span> <span style=\"font-family:宋体\">空腹忌服</span></p><p><br /></p>",
"content_source_url": "",
"thumb_media_id": "nKkm8gAtMAE5etgqmvZb_dxtaxQHSrh2grzPxZfMSrw",
"show_cover_pic": 1,
"url": "hddddddddddd#rd"
}
]
},
"update_time": 1436340220
}
],
"total_count": 2,
"item_count": 2
}
如上的文字,请问如何用正则表达式抓去这断json数据里的Url值和title对应的值,求正则表达式破解,我要的结果是每一个title对应一个url,还有total_count值
1.先把你的json数据格式化, 去空格 去回车
2.
string pattern = "\"title\":\"(.*?)\""; string pattern2 = "\"url\":\"(.*?)\""; string data = "{\"item\":[{\"media_id\":\"gmfnBxUDOD6IJkMyAduqokoDHxmAk5uXENr5AMNdHok\",\"content\":{\"news_item\":[{\"title\":\"测试图文一\",\"author\":\"\",\"digest\":\"如下原因会造成JSON校验失败,而且会让你不知道为什么失败JSON字符串里的非数字型键值没有双引号JSON中\",\"content\":\"<p style=\"\">如下原因会造成JSON校验失败,而且会让你不知道为什么失败</p><ol style=\"\" class=\" list-paddingleft-2\"><li><p>JSON字符串里的非数字型键值没有双引号</p></li><li><p>JSON中存在\\t这样的制表符,看起来和空格一样,但是就是因为它的存在校验不通过。去掉就能过了。</p></li><li><p>编辑器有bom头也会造成</p></li><li><p>有这时间看这条,不如他么的进群和一千多个基友讨论\",\"content_source_url\":\"\",\"thumb_media_id\":\"gmfnBxUDOD6IJkMyAduqohvumT1_FFFs9uDdFWaKPYo\",\"show_cover_pic\":1,\"url\":\"http://xxxxxxxxxxxxxxxxxxxx.com\"}]},\"update_time\":1436426485},{\"media_id\":\"nKkm8gAtMAE5etgqmvZb_aEWjXqf0j2cu9h9ZchtKjU\",\"content\":{\"news_item\":[{\"title\":\"as发大水介绍\",\"author\":\"\",\"digest\":\"Он иОна(俄文译名)他她蜜 高加索黑蜂 阿尔泰蜂蜜一大自然的恩赐!北京亿众亿千商贸有限公司意为"集千万\",\"content\":\"老。外用美肤。</span></p><p><spanstyle=\"font-family: 宋体\">禁忌:开水冲服</span><spanstyle=\"font-family: 宋体\">一周岁婴幼儿禁服</span><spanstyle=\"font-family: 宋体\">空腹忌服</span></p><p><br/></p>\",\"content_source_url\":\"\",\"thumb_media_id\":\"nKkm8gAtMAE5etgqmvZb_dxtaxQHSrh2grzPxZfMSrw\",\"show_cover_pic\":1,\"url\":\"hddddddddddd#rd\"}]},\"update_time\":1436340220}],\"total_count\":2,\"item_count\":2}"; var match = Regex.Matches(data, pattern); var match2 = Regex.Matches(data, pattern2); foreach (Match v in match) { Console.WriteLine(v.Groups[1].Value); Console.WriteLine(""); } foreach (Match v in match2) { Console.WriteLine(v.Groups[1].Value); Console.WriteLine(""); }
由于json数据格式真的不好找开始结束标识,所以把 title和url分开来匹配
3.还是推荐用反序列化,json不用序列化 那是有多蛋疼
什么语言啊,还是推荐使用json反序列化工具.序列化成对像,想怎么操作怎么操作.
自己写个正则匹配json格式.很复杂..复杂到我不敢想.
吴老师,您有时间吗?如果可以的话请帮忙看下我的问题呗?