如何在blazor中显示对象

如何在blazor中显示对象,blazor,blazor-server-side,Blazor,Blazor Server Side,我在学布拉佐,C。我创建了一个调用第三方API并将一些信息返回到网页的网站。它显示一切正常,除了我班上的一个项目。项目是一个对象,包含大量信息 这是上课时间 namespace learnc.Models { public class BritishAirwaysModel { public Getba_Locationsresponse GetBA_LocationsResponse { get; set; } } public class

我在学布拉佐,C。我创建了一个调用第三方API并将一些信息返回到网页的网站。它显示一切正常,除了我班上的一个项目。项目是一个对象,包含大量信息

这是上课时间

namespace learnc.Models
{


    public class BritishAirwaysModel
    {
        public Getba_Locationsresponse GetBA_LocationsResponse { get; set; }
    }

    public class Getba_Locationsresponse
    {
        public Country[] Country { get; set; }
    }

    public class Country
    {
        public string CountryName { get; set; }
        public string CountryCode { get; set; }
        public object City { get; set; }
        
    }

}
在Razor组件中,我有以下代码

       <tbody>
        @foreach (var ba in balocations.GetBA_LocationsResponse.Country)
        {
        <tr>
            <td>@ba.CountryName.</td>
            <td>@ba.CountryCode</td>
            <td>@ba.City</td>
            <td>
            </td>
        </tr>
        }

    </tbody>


</table>
我该怎么做才能显示城市对象中的几个项目。例如,假设我只想显示CityName和CityCode。 我应该为每个City对象编写什么代码来循环并从中提取CityName和CityCode

谢谢
Russell

当你使用更好的命名时,它会有所帮助

@foreach (var ba in balocations.GetBA_LocationsResponse.Country)
读起来很奇怪,国家是一个单数词,但显然它是一个列表。尝试重命名对象,以便获得:

@foreach (var country in balocations.GetBA_LocationsResponse.Countries)
城市也是如此。在JSon中,它是一个数组,因此将其命名为
Cities

然后很明显,你有一个选择:一个国家有很多城市,你想展示什么

一个简单的建议,让你至少看到一些东西:

    @foreach (var ba in balocations.GetBA_LocationsResponse.Country)
    {
    <tr>
        <td>@ba.CountryName.</td>
        <td>@ba.CountryCode</td>
        <td>@ba.City.FirstOrDefault()?.Name</td>
        <td>
        </td>
    </tr>
    }
其他人有一个清单:

 "City": [{ ... },{ ... } ],
这让代码生成器感到困惑

最简单的解决方法是将响应复制/粘贴到临时文件,将其减少到仅1个国家(其中>=2个城市)。确保Json有效并再次生成C#类


还有很多在线Json工具站点可以帮助您分析、验证和转换Json。

为什么
公共对象城市{get;set;}
?这不是我的API,这是第三方,这就是为什么它是这样。我试过了,但它不起作用。@ba.City.FirstOrDefault()?.Name。还有其他想法吗?嗯,你是对的,“它不起作用”不是一个可以回答的问题。这是一份声明。如果你想帮忙,那就帮忙。如果你只想评论人们的信息过于浮夸。继续!!这不是留言板。阅读
 "City": { ... },
 "City": [{ ... },{ ... } ],