C# 获取JSON字符串中指定KEY的值


背景

从Markdown系统API接口获取到JSON格式数据,JSON字符串是不规范的或者说是很难以获取doc_id字段(位于树的叶子节点,但是却不知道有多少个枝干节点),这时想到了采用正则表达式获取指定KEY的值,于是产生了这篇文章。

适用场景

  1. 不想要解析整个JSON字符串,只想获取其中某个KEY的值
  2. JSON字符串对应的对象比较难以构造,只需要获取其中某几个KEY的值
  3. JSON字符串不规范,只需要获取指定KEY的值(特别是有一些是数组对象,有一些是非数据对象)

代码

 1 /// <summary>
 2 /// 获取JSON字符串中指定KEY的值
 3 /// </summary>
 4 /// <param name="jsonString"></param>
 5 /// <param name="key"></param>
 6 /// <returns></returns>
 7 public List<String> GetJsonValue(String jsonString, String key)
 8 {
 9     String pattern = $"\"{key}\":\"(.*?)\\\"";
10     MatchCollection matches = Regex.Matches(jsonString, pattern, RegexOptions.IgnoreCase);
11     List<string> lst = new List<string>();
12     foreach (Match m in matches)
13     {
14         lst.Add(m.Groups[1].Value);
15     }
16 
17     return lst;
18 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM