2 u013047803 u013047803 于 2016.01.27 11:32 提问

新人贴,有关于循环遍历json格式的问题,求罩啊各位老大!

{"curPage":"1","totalPage":"1","title":[{"id":22,"title":"《蘑菇战争》通关技巧防守篇","userid":3,"typeid":5,"pubtime":1461686400000,"readtimes":0,"articlePic":null,"orderNum":22},{"id":23,"title":"《蘑菇战争》通关技巧进攻篇","userid":2,"typeid":5,"pubtime":1456243200000,"readtimes":0,"articlePic":null,"orderNum":23},{"id":24,"title":"《蘑菇战争》游戏攻略 新手必看","userid":3,"typeid":5,"pubtime":1434988800000,"readtimes":0,"articlePic":null,"orderNum":24}]}


我想在js脚本里面循环输出这个json格式,改怎样循环呀 我用$.each循环试了下,能单独循环 {"title":[{"id":22,"title":"《蘑菇战争》通关技巧防守篇","userid":3,"typeid":5,"pubtime":1461686400000,"readtimes":0,"articlePic":null,"orderNum":22},{"id":23,"title":"《蘑菇战争》通关技巧进攻篇","userid":2,"typeid":5,"pubtime":1456243200000,"readtimes":0,"articlePic":null,"orderNum":23},{"id":24,"title":"《蘑菇战争》游戏攻略 新手必看","userid":3,"typeid":5,"pubtime":1434988800000,"readtimes":0,"articlePic":null,"orderNum":24}]} 但是加了"curPage":"1","totalPage":"1" 循环就报错了。 求解啊! 先谢谢各位了

6个回答

showbo
showbo   Ds   Rxr 2016.01.27 11:42
已采纳

要原始结构直接JSON.stringify就行了,IE7-需要导入json2.js类库,不支持json对象


    var o={"curPage":"1","totalPage":"1","title":[{"id":22,"title":"《蘑菇战争》通关技巧防守篇","userid":3,"typeid":5,"pubtime":1461686400000,"readtimes":0,"articlePic":null,"orderNum":22},{"id":23,"title":"《蘑菇战争》通关技巧进攻篇","userid":2,"typeid":5,"pubtime":1456243200000,"readtimes":0,"articlePic":null,"orderNum":23},{"id":24,"title":"《蘑菇战争》游戏攻略 新手必看","userid":3,"typeid":5,"pubtime":1434988800000,"readtimes":0,"articlePic":null,"orderNum":24}]}
    alert(JSON.stringify(o));
u013047803
u013047803 回复无聊码农: 谢谢! 最后总结下哈哈 我用了另外的一种方法 就是jquery里带的eval("(" + data + ")") 函数 重点记得函数括号里面的括号 给后面的人提个醒
接近 2 年之前 回复
u013047803
u013047803 回复shunxiaotian: 嗯 会去看的 谢谢
接近 2 年之前 回复
shunxiaotian
shunxiaotian 推荐bejson网站直接可以解析的
接近 2 年之前 回复
showbo
showbo 回复凡夫俗子_: 已经给你了,不需要jquery,有用记得采纳
接近 2 年之前 回复
u013047803
u013047803 回复无聊码农: 能给个示例吗? 我现在就是卡死在这里了 我单独只循环{"title":[{"id":22,"title":"《蘑菇战争》通关技巧防守篇","userid":3,"typeid":5,"pubtime":1461686400000,"readtimes":0,"articlePic":null,"orderNum":22},{"id":23,"title":"《蘑菇战争》通关技巧进攻篇","userid":2,"typeid":5,"pubtime":1456243200000,"readtimes":0,"articlePic":null,"orderNum":23},{"id":24,"title":"《蘑菇战争》游戏攻略 新手必看","userid":3,"typeid":5,"pubtime":1434988800000,"readtimes":0,"articlePic":null,"orderNum":24}]}这个没问题
接近 2 年之前 回复
showbo
showbo 回复凡夫俗子_: var o =...json对象; var k, value; for (k in o) { value = o[k]; if (typeof value == 'object') { alert(k + ' is object'); for (i in value) { alert(i); for (_k in value[i]) alert(_k+'='+value[i][_k]); } } else alert(k + '=' + value); }
接近 2 年之前 回复
showbo
showbo 回复凡夫俗子_: 你要判断下for in到的值是否数组,不是数组不能按照数组方法遍历
接近 2 年之前 回复
u013047803
u013047803 额 可能我没表达清楚 我需要一个一个的得到这个json字符串里面的键值对,比如我需要弹出curPage的值 然后弹出totalPage的值 在然后循环弹出title这个数组里面的值
接近 2 年之前 回复
jujishou521
jujishou521   2016.01.27 11:34

and then ?

u013047803
u013047803 然后我需要alert()弹出每一个属性的值, 现在我用$.each循环会报错。。。
接近 2 年之前 回复
91program
91program   Ds   Rxr 2016.01.27 11:34

建议移植一个开源的 Json 解析的东东,而不是想自己来解析这些。

u013047803
u013047803 嗯 暂时还没接触到这些 我这个是在js前端开发的 还不知道前端有什么能解析json格式的东西
接近 2 年之前 回复
91program
91program   Ds   Rxr 2016.01.27 11:36
u013047803
u013047803 谢谢
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.01.27 11:56

直接 JSON.stringify 解析啊。

QZC78
QZC78   2016.01.27 15:07

var mesObj = eval('('+jsonStr+')'); //(将参数转为对象),然后直接参照 对象.属性 使用

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!