【问题标题】:How to deserialize a json in .net core 3.0如何在 .net core 3.0 中反序列化 json
【发布时间】:2019-12-26 19:55:36
【问题描述】:

我在使用 .Net Core 3.0 Blazor 应用程序反序列化 json 时遇到了一些麻烦。

我使用 .Net Core 3.0 Blazor 和 Visual Studio Preview 2019 的框架

{
    "cols": [
        "ID",
        "LastName",
        "Firstname",
        "middlename",
        "Suffix",
        "Title"

    ],
    "rows": [
        [
            "90",
            "Dada",
            "Mama",
            "",
            "",
            ""

        ]
    ]
}

预期结果: 我想使用 blazor 将此 json 动态加载为 Web 表单中的表格。我不介意为此使用任何 UI 框架,例如 devexpress 或 Telerik。

id LastNmae 名字中间名后缀标题

90 爸爸妈妈

Expected Result

【问题讨论】:

    标签: json .net-core json.net blazor


    【解决方案1】:

    在 Blazor 上完成的步骤:

    1.- 将Newtonsoft 添加到您的 Blazor 项目中(对于 Blazor 客户端 wasm 也可以,因为 Newtonsoft 是网络标准):

    dotnet add package Newtonsoft.Json
    

    2.- 引用库,反序列化和迭代反序列化的对象:

    @page "/counter"
    
    @using Newtonsoft.Json
    
    <table >
        <tr>
            @foreach (var c in dyn.cols)
            {
                <td style="border: 1px solid black;">@c.Value</td>    
            }
        </tr>
        @foreach (var r in dyn.rows)
        {
            <tr>
                @foreach (var d in r)
                {
                    <td style="border: 1px solid black;">@d.Value</td>    
                }
            </tr>
        }
    </table>
    
    @code {
        dynamic dyn;
        string json_str = @" your json ";
    
        protected override void OnInitialized()
        {
              dyn = JsonConvert.DeserializeObject(json_str);
        }
    }
    

    结果:

    其他信息:

    样本的整个json:

    @code {
        dynamic dyn;
        string json_str = @"
            {
                ""cols"": [
                    ""ID"",
                    ""LastName"",
                    ""Firstname"",
                    ""middlename"",
                    ""Suffix"",
                    ""Title""
    
                ],
                ""rows"": [
                    [
                        ""90"",
                        ""Dada"",
                        ""Mama"",
                        """",
                        """",
                        """"
                    ],
                    [
                        ""91"",
                        ""Dada1"",
                        ""Mama1"",
                        """",
                        """",
                        """"
                    ],
                ]
            }
        ";
    
    

    已编辑:

    免责声明:此时,您也可以使用System.Text.Json

    【讨论】:

    • 谢谢,它现在正在工作。你能告诉我如何指向一个像 string json_str = @"sample-data/User.json"; 这样的 json 文件吗?而不是在字符串中写入json
    • 为您的新问题发布另一篇文章。它是免费的?
    • 免责声明:此时您也可以使用System.Text.Json
    猜你喜欢
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多