c# - 如何从json对象中获取key并转换为数组?

标签 c# .net json

{
 "Date": "2016-12-15",
 "Data": {
   "A": 4.4023,
   "AB": 1.6403,
   "ABC": 2.3457
 }
}

如何将我的键 A、Ab、ABC 放入数组中?只是键而不是值。

最佳答案

您可以安装并使用LINQ to JSON查询属性:

var jsonString = @"{
     ""Date"": ""2016-12-15"",
     ""Data"": {
       ""A"": 4.4023,
       ""AB"": 1.6403,
       ""ABC"": 2.3457
     }
}";

var root = JToken.Parse(jsonString);

var properties = root
    // Select nested Data object
    .SelectTokens("Data")
    // Iterate through its children, return property names.
    .SelectMany(t => t.Children().OfType<JProperty>().Select(p => p.Name))
    .ToArray();

Console.WriteLine(String.Join(",", properties)); // Prints A,AB,ABC

样本fiddle .

关于c# - 如何从json对象中获取key并转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41171017/

相关文章:

网络上的 C# 应用程序

c# - 在 .NET 中动态更改 HttpClient.Timeout

.net - 从数据库读取.NET 配置

javascript - JQGrid 在列排序时丢失记录

javascript - 将 JSON 数组集合发布到 Asp.net Core Web API

c# - 覆盖 RSA 对象中的默认算法以支持 OaepSHA256 填充

c# - 'HttpClientHandler' 不包含 'ClientCertificates' 在 net461 和 net47 中的定义?

c# - 使用 Reactive Extensions 在 TextChanged 上搜索

java - Jackson 反序列化包含有效 json 的字符串值

c# - Azure AD B2C - 身份验证质询不触发身份验证