【发布时间】:2021-07-11 05:00:40
【问题描述】:
我不知道该案例是否存在现有名称,但我正在尝试从 NASA API (https://api.nasa.gov/) 检索数据,并且我有一个简单的挑战来捕获地球附近的物体列表。这是我对“https://api.nasa.gov/neo/rest/v1/feed?...”的 GET 请求的 JSON 响应
{
"links": {
"next": "http://www.neowsapp.com/rest/v1/feed?start_date=2021-07-04&end_date=2021-07-04&detailed=false&api_key=NjgpxgSbYHXyFSBI3HaOhRowtjMZgAKv2t4DMRym",
"prev": "http://www.neowsapp.com/rest/v1/feed?start_date=2021-07-02&end_date=2021-07-02&detailed=false&api_key=NjgpxgSbYHXyFSBI3HaOhRowtjMZgAKv2t4DMRym",
"self": "http://www.neowsapp.com/rest/v1/feed?start_date=2021-07-03&end_date=2021-07-03&detailed=false&api_key=NjgpxgSbYHXyFSBI3HaOhRowtjMZgAKv2t4DMRym"
},
"element_count": 6,
"near_earth_objects": {
"2021-07-03": [
{
"links": {
"self": "http://www.neowsapp.com/rest/v1/neo/3701710?api_key=NjgpxgSbYHXyFSBI3HaOhRowtjMZgAKv2t4DMRym"
},
"id": "3701710",
"neo_reference_id": "3701710",
"name": "(2014 WF497)",
"nasa_jpl_url": "http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=3701710",
"absolute_magnitude_h": 20.23,
"estimated_diameter": {
"kilometers": {
}
这就是它在 Visual Studio 中的构建方式(使用 JSON 的特殊粘贴选项)
public class NearEarthObject
{
public Links links { get; set; }
public int element_count { get; set; }
public Near_Earth_Objects near_earth_objects { get; set; }
}
public class Links
{
public string next { get; set; }
public string prev { get; set; }
public string self { get; set; }
}
public class Near_Earth_Objects
{
public _20210703[] _20210703 { get; set; }
}
public class _20210703
{
public Links1 links { get; set; }
public string id { get; set; }
public string neo_reference_id { get; set; }
public string name { get; set; }
public string nasa_jpl_url { get; set; }
public float absolute_magnitude_h { get; set; }
public Estimated_Diameter estimated_diameter { get; set; }
public bool is_potentially_hazardous_asteroid { get; set; }
public Close_Approach_Data[] close_approach_data { get; set; }
public bool is_sentry_object { get; set; }
}
问题是,在元素“near_earth_objects”内部,有一个名为“2021-07-03”的元素(我请求的数据的日期),问题是我试图将它包含到 DataGridView使用 .NET C#(Windows 窗体,但我认为这并不重要)并且用户希望按日期获取信息。所以,“2021-07-03”是一天的有效会员,用户应该可以获取多天的数据。
那么,C# 中是否有一种方法可以在不知道其名称的情况下获取 near_earth_objects 中的所有子对象,因为在我的应用程序中可以选择从日期 X 到 Y 搜索小行星?
【问题讨论】:
-
您知道该模式将是“YYYY-MM-DD”,因此基于此应该很容易在您的课堂上使用它。只需有一个包含此日期数据数组的“near_earth_objects”类。