在jQuery中解析JSON对象

25 浏览
0 Comments

在jQuery中解析JSON对象

以下是JSON字符串的示例:

[{"Description":"管理员可以在网站上做任何事情","Id":"381ede0e-3bc1-4d71-83d8-bbb62a3b8aaa","Name":"管理员"},{"Description":"具有有限权限的技术用户a","Id":"7a632af6-214b-4a8e-a3f8-9c0aafae2645","Name":"技术"}]

以下是我的脚本:

//获取用户角色:

$.getJSON('@Url.Action(“GetAUsersRegisteredRoles”)' + '/' + selectedUser,function(json){

console.log('1:');

console.log(json);

//解析JSON

$ .each(json,function(){

$ .each(this,function(k,v){

alert(v.Id + v.Name + v.Description);

})

});

});

我知道我在解析方面做错了什么?

我确定只是一些愚蠢的错误。

这是控制台中JSON数组的视图:

“输入图像描述”src=“https://i.stack.imgur.com/vfr2t.jpg”/

当我在浏览器中运行它时,我的警报弹出窗口会出现6次,并显示NaN。

我查看了这个链接https://stackoverflow.com/questions/733314/jquery-loop-over-json-result-from-ajax-success,它帮助我达到了现在的状态。

0
0 Comments

问题出现的原因是通过循环枚举列表中的元素,然后再枚举每个元素的属性。实际上只需要一个循环即可解决问题。

解决方法是使用jQuery的$.each()函数来循环遍历JSON对象。该函数接受两个参数,第一个参数是要循环遍历的对象,第二个参数是一个回调函数,用于处理每个元素。

在回调函数中,可以使用this关键字来引用当前元素。根据需要,可以通过this关键字来访问元素的属性。在这个问题中,可以使用this.Idthis.Namethis.Description来分别访问元素的Id、Name和Description属性。

下面是使用$.each()函数来解决问题的代码示例:

$.each(json, function () {
    alert(this.Id + this.Name + this.Description);
});

以上代码将循环遍历名为json的JSON对象,并使用alert()函数来弹出每个元素的Id、Name和Description属性。

通过这样的处理,我们可以避免多余的循环,提高代码的效率。

0
0 Comments

问题:如何在jQuery中解析一个JSON对象?

原因:JSON是一个对象数组,需要遍历顶层对象。

解决方法:使用jQuery的each方法遍历JSON对象的顶层。

代码示例:

$.each(json, function (k, v) {
    console.log(v.Id, v.Name, v.Description);
});

提示:直接查看格式化后的JSON通常会更有帮助。

0
0 Comments

问题出现的原因是在遍历json对象时,使用了两个循环,但实际上只需要一个循环即可。解决方法是只需要遍历子元素即可,不需要再嵌套循环。

下面是修改后的代码:

$.each(json, function (k, v) {
    alert(v.Id + v.Name + v.Description);
});

0