C#如何提取嵌套JSON结构中所有id属性的对应值
C# 提取JSON指定ID集合实现方案
方案1:使用Newtonsoft.Json(Json.NET)实现
适用于所有.NET版本,需先安装NuGet包 Newtonsoft.Json
完整代码示例:
using Newtonsoft.Json.Linq; using System.Collections.Generic; using System.Linq; public class JsonIdExtractor { public List<string> ExtractIds(string jsonStr) { JObject jObj = JObject.Parse(jsonStr); return jObj["properties"] .Values<JArray>() .SelectMany(arr => arr) .Select(item => item["id"].ToString()) .ToList(); } }
方案2:使用.NET内置System.Text.Json实现
适用于.NET Core 3.0、.NET 5及以上版本,无需安装第三方依赖包
完整代码示例:
using System.Text.Json; using System.Collections.Generic; public class JsonIdExtractor { public List<string> ExtractIds(string jsonStr) { List<string> idList = new List<string>(); using JsonDocument doc = JsonDocument.Parse(jsonStr); JsonElement propertiesNode = doc.RootElement.GetProperty("properties"); foreach (JsonProperty property in propertiesNode.EnumerateObject()) { foreach (JsonElement arrayItem in property.Value.EnumerateArray()) { idList.Add(arrayItem.GetProperty("id").GetString()); } } return idList; } }
内容的提问来源于stack exchange,提问作者Praveen kumar
相关产品推荐
相关产品推荐

