javascript - 如何在asp.net mvc视图中使用javascript访问json对象中数组的长度
问题描述
我想用 javascript 访问 json 对象中数组的长度。我在 JSON 对象中解析我的视图的列表模型并尝试访问它。这是我的功能:
<script>
function showCerts(storeName) {
var store = storeName;
var model = '@Html.Raw(Json.Encode(Model))';
var obj = JSON.parse(model);
for (var i = 0; i < Object.keys(obj[store].Certificates).length; i++) {
var node = document.createElement("p");
var textNode = document.createTextNode(obj[store].Certificates[i].FingerPrint);
node.appendChild(textNode);
document.getElementById("certs").appendChild(node);
}
}
</script>
JSON 对象如下所示:
[{"Name":"ClientAuthIssuer","ServerName":"servername","Certificates":[
{"id" = 0, "Name" = "CertName"},
{"id" = 1, "Name" = "CertName"},
{"id" = 2, "Name" = "CertName"}]},
{"Name":"Disallowed","ServerName":"servername","Certificates":[
{"id" = 0, "Name" = "CertName"},
{"id" = 1, "Name" = "CertName"},
{"id" = 2, "Name" = "CertName"}]},
{"Name":"MY","ServerName":"servername","Certificates":[
{"id" = 0, "Name" = "CertName"},
{"id" = 1, "Name" = "CertName"},
{"id" = 2, "Name" = "CertName"}]}
]
我想获取 ClientAuthIssuer 的 Certificates 属性的长度,例如遍历其中的证书并将其作为 ap 元素添加到 div 中。
尝试运行我的脚本时总是出现此错误:
Uncaught TypeError: Cannot read property 'Certificates' of undefined
谢谢您的帮助。
解决方案
这个错误信息很明显我决定你的 obj[store] 是未定义的。
推荐阅读
- flutter - 颤振图像未显示在谷歌标记上
- reactjs - 无法读取地理位置中未定义的属性“协调”
- android - 缩小apk时,Amplify.Auth.fetchAuthSession() userPoolTokens为空
- r - 使用 mutate_at 和 max() 函数在 R 中使用自己的数据尝试代码。出现警告消息:max 没有非缺失参数
- git - 当我们使用 git add 时合并是如何工作的
? - reactjs - 错误:找不到模块:无法解析“/home/rakesh95/Projects/webapp/node_modules/quickblox/src/modules/chat”中的“nativescript-xmpp-client”
- php - Laravel - 在控制器内部验证而不进行 CustomRequest
- python - 获取不同范围的所有 numpy 切片的有效方法
- azure - Azure ARM 模板:表达式作为非字符串或具有允许值的参数的默认值
- qt - 在 CLion 中,Qt Console 和 Qt Widgets Executable 项目模板有什么区别