如何将包含 json 数组的 table 列解析为 asp.net 核心 c# 中的 table

How to parse column of table that contain json array to table in asp.net core c#

我有问题。 我的 table 中有一列包含 JSON 数组,我需要获取此值并将其显示为 cshtml 视图中的 table

我创建了一个 returns JSON 这个值的方法。

public ActionResult GetComposant(String fam)
    {
        var ComposantInfo = ((_context.Fds.Where(e => e.Fam == fam)).ToList()).Select(e => e.Chap2).FirstOrDefault();
        Debug.Write(ComposantInfo);



        return Json(ComposantInfo);
    }

在 myjquery 脚本中我有:

  $.getJSON("GetComposant", { fam: selectedVal.toString() }, function (result) {
            console.log(result);
            console.log(result.length);


            if (result.length == 0) {
                $('#msg').text("CeTTE FAMILLE n'a pas de FDS , veuillez la creer ");
                $('#msg').css('color', 'red')
                var tr;
                //Append each row to html table

                tr = $('<tr style="background-color: indianred;"/>');

                tr.append("<td contenteditable='true'>" + "</td>");
                tr.append("<td contenteditable='true'>" + "</td>");
                tr.append("<td contenteditable='true'>" + "</td>");
                tr.append("<td contenteditable='true'>" + "</td>");
                tr.append("<td contenteditable='true'>" + "</td>");
                $('table').append(tr);

            }
            else {
                $('#msg').text("FDS existe déja");
                $('#msg').css('color', 'green')
                var tr;
                //Append each row to html table
                for (var i = 0; i < result.length; i++) {
                    tr = $('<tr/>');
                    tr.append("<td>" + result[i].designe + "</td>");
                    tr.append("<td>" + result[i].ncas + "</td>");
                    tr.append("<td>" + result[i].symbole + "</td>");
                    tr.append("<td>" + result[i].poids + "</td>");
                    tr.append("<td>" + result[i].rphrases + "</td>");
                    $('table').append(tr);
                }
            }



        })

我试图在我的控制台中显示结果: 它显示: enter image description here

包含三个元素,但是当我尝试显示长度时它显示 603

并向我展示了 603 行未定义的列。

问题出在哪里?

您必须将 json“字符串”解析为实际的 js“对象”才能通过索引访问它:

var jsonObj = JSON.parse(result);
// after that you are able to access it's properties
jsonObj [i].designe