Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

c# - how to get the key from json object and convert into an array?

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

how can i get my keys A,Ab,ABC into an array? just the keys not value.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could install and use LINQ to JSON to query the properties:

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

Sample fiddle.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...