如何将包含 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
我有问题。 我的 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