首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从json到ul li

从json到ul li
EN

Stack Overflow用户
提问于 2015-10-28 09:34:59
回答 5查看 908关注 0票数 3

我正试着把json解析成ul。这是我的儿子:

代码语言:javascript
复制
var data = {"resultDescription":"SUCCESS","data":[{"orderNum":"A000","userName":"Oswaldo","value":504.74,"qty":3.0},{"orderNum":"A001","userName":"Mao","value":529.17,"qty":6.0},{"orderNum":"A002","userName":"Angeline","value":553.6,"qty":9.0},{"orderNum":"A003","userName":"Gerardo","value":578.03,"qty":12.0},{"orderNum":"A004","userName":"Nicki","value":602.46,"qty":15.0}]}

我试着用这个代码来解析它:

代码语言:javascript
复制
$.each(data.data, function (index, item) {
                html += "<ul>";
                console.log(item);
                $.each(item.data, function (index1, item1) {
                    html += "<li>" + orderNum + "</li>";
                    html += "<li>" + qty + "</li>";
                    html += "<li>" + userName + "</li>";
                    html += "<li>" + value + "</li>";
                });
                html += "</ul>";
            });

我做错了什么?

JSFIDDLE示例在这里

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-10-28 09:39:55

为什么你还有一个额外的$.each

代码语言:javascript
复制
$.each(item.data, function (index1, item1) {

见下文。演示:

代码语言:javascript
复制
var data = {"resultDescription":"SUCCESS","data":[{"orderNum":"A000","userName":"Oswaldo","value":504.74,"qty":3.0},{"orderNum":"A001","userName":"Mao","value":529.17,"qty":6.0},{"orderNum":"A002","userName":"Angeline","value":553.6,"qty":9.0},{"orderNum":"A003","userName":"Gerardo","value":578.03,"qty":12.0},{"orderNum":"A004","userName":"Nicki","value":602.46,"qty":15.0}]}

var html = "";
			$.each(data.data, function (index, item) {
				html += "<ul>";
				console.log(item);
				//$.each(item.data, function (index1, item1) {
					html += "<li>" + item.orderNum + "</li>";
					html += "<li>" + item.qty + "</li>";
					html += "<li>" + item.userName + "</li>";
					html += "<li>" + item.value + "</li>";
				//});
				html += "</ul>";
			});
			setTimeout(function() {
				$(".container").append(html);
			}, 1500);
代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container"></div>

http://jsfiddle.net/kishoresahas/2012qo9u/1/

票数 1
EN

Stack Overflow用户

发布于 2015-10-28 09:45:25

以上答案是正确的。但是您可以使用jquery来构建html元素,而不是通过字符串连接来创建它。

代码语言:javascript
复制
$.each(data.data, function (index, item) {
    var ul = $("<ul/>");
    var li = $("<li/>", { text: item.orderNum });
    ul.append(li);
    ul.append(li.clone().text(item.qty));
    ul.append(li.clone().text(item.userName));
    ul.append(li.clone().text(item.value));
    $(".container").append(ul);
});

小提琴

票数 1
EN

Stack Overflow用户

发布于 2015-10-28 09:40:45

代码语言:javascript
复制
var html = "";
$.each(data.data, function (index, item) {
    html += "<ul>";
    console.log(item);
    html += "<li>" + item.orderNum + "</li>";
    html += "<li>" + item.qty + "</li>";
    html += "<li>" + item.userName + "</li>";
    html += "<li>" + item.value + "</li>";
    html += "</ul>";
});
setTimeout(function () {
    $(".container").append(html);
}, 1500);

尝尝这个

演示

您已经从data这里获得数据了,$.each(data.data, function (index, item) {不需要再进行迭代。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33387447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档