c# – 提取键值对
发布时间:2020-12-15 23:42:58 所属栏目:百科 来源:网络整理
导读:我正在研究Rest api.它工作正常.当我提出要求时,它会向我发送回复.实际上,这个响应是一个由子数组和其他键组成的数组:它们中的值对.现在我想在C#中提取这些键:值对.我想到正则表达式提取子字符串但我还没有正则表达式的知识.但我试着先得到子数组. 输入字
我正在研究Rest api.它工作正常.当我提出要求时,它会向我发送回复.实际上,这个响应是一个由子数组和其他键组成的数组:它们中的值对.现在我想在C#中提取这些键:值对.我想到正则表达式提取子字符串但我还没有正则表达式的知识.但我试着先得到子数组.
输入字符串是 [ { "id": "1","name": "kashif","father_name": "mirza","contact": "21321","email": "sdf","image": "sdfsdf" },{ "id": "2","name": "Kashif","father_name": "Mirza","contact": "0342809211","email": "shadbagh@wele.com","image": "photo[1].jpg" },{ "id": "3","name": "Abdussadiq","father_name": "Abdul Haq Khan","contact": "03449066113","email": "abdus.sadiq04@gmail.com","image": "1393602_698558840157121_1872079026_n.jpg" } ] 正则表达式的C#代码 Match match = Regex.Match(input,@"(?<={)(.*)(?=})",RegexOptions.IgnoreCase); if (match.Success) { foreach(var matchgroup in match.Groups) Console.WriteLine(matchgroup); } 它返回结果,但不是根据我的需要.它让我回归 "id": "1","image": "1393602_698558840157121_1872079026_n.jpg" 这意味着它正在移除正好的外部括号,而不是内部的括号. 所以我的问题是: >我在上面的代码中做错了什么? 解决方法
您不必使用正则表达式.
您尝试解析的数据采用JSON格式. 例如,您可以使用Json.NET解析它 Dictionary<string,dynamic> MyData = JsonConvert.DeserializeObject<Dictionary<string,dynamic>>(JsonData); 如果你想要一个原生支持,试试JavascriptSerializer(它还给你一个如何直接将它解析成类的例子,这比关于你的JSON数据结构的字典更好) Dictionary<string,dynamic> MyData = JavaScriptSerializer.Deserialize<Dictionary<string,dynamic>>(JsonData); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |