日期:2014-05-16  浏览次数:20691 次

jQuery遍历json数组怎么整。。。
{"options":"[{\"text\":\"王家湾\",\"value\":\"9\"},{\"text\":\"李家湾\",\"valu
e\":\"10\"},{\"text\":\"邵家湾\",\"value\":\"13\"}]"}

json数组如上,在jQuery中这么遍历没效果:
$.each(data,function(i,n){
f += ''+ n.text + '';
});
不知道是哪里写错咯。。

------解决方案--------------------
你的JSON串有问题.

HTML code



<script type="text/javascript">
    var d1 =[{"text":"王家湾","value":"9"},{"text":"李家湾","value":"10"},{"text":"邵家湾","value":"13"}];

    $(d1).each(function(){
        if(
        alert(this.text);
    });
</script>

------解决方案--------------------
javascript就可以完成遍历。

HTML code
<script type="text/javascript">
  var json = {"options":"[{\"text\":\"王家湾\",\"value\":\"9\"},{\"text\":\"李家湾\",\"value\":\"10\"},{\"text\":\"邵家湾\",\"value\":\"13\"}]"} 
  json = eval(json.options)
  for(var i=0; i<json.length; i++)
  {
     alert(json[i].text+" " + json[i].value)
  }
</script>

------解决方案--------------------
如果你一开始的json是用字符串类型的话要转换为一个json object 。用eval();
例如:var json = eval(strJson);
------解决方案--------------------
//显示新建模板页面供选择的指标
function showIndicator(){
$.getJSON("IndicatorManager.jsp", //服务器页面地址
{
action: "getIndicatorList" //action参数
},
function(json) { //回调函数
$(json).each(function(i){ //遍历结果数组
alert(json[i].indicatorCode);
alert(json[i].indicatorName); 
});
}
);
}

服务器段代码:

String getIndicatorList(String userLoginId) {
JSONArray array = new JSONArray(); //定义JSON数组
String sql = "select INDICATORCODE,trim(INDICATORNAME) as INDICATORNAME,STATUS from modelindicator where UserLoginId=? order by INDICATORCODE asc";//定义SQL语句
Connection conn = null; //声明Connection对象
PreparedStatement pstmt = null; //声明PreparedStatement对象
ResultSet rs = null; //声明ResultSet对象
try {
conn = DBUtils.getConnection(); //获取数据库连接
pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
pstmt.setString(1,userLoginId);
rs = pstmt.executeQuery(); //执行查询,返回结果集
while (rs.next()) {
JSONObject obj = new JSONObject();
obj.put("indicatorCode", rs.getString(1));
obj.put("indicatorName", rs.getString(2));
obj.put("status", rs.getString(3));
array.add(obj);
}
} catch (SQLException e) {
System.out.println(e.toString());
} finally {
DBUtils.close(rs); //关闭结果集
DBUtils.close(pstmt); //关闭PreparedStatement
DBUtils.close(conn); //关闭连接
}
return array.toString();
}
------解决方案--------------------
很受益,整好学着用jquery的each处理json格式数据呢。
------解决方案--------------------
json数据和读取的js都有问题,看我的怎么做的:

var json ="{ RecordCount:8,PageCount:2,datalist:[ { AlbumID: '10003',UserID: '1',AlbumName: '789',CoverPhoto: 'http://localhost:3903/Web/UploadFiles/Photo/1/10003/50da4889e6824e13b460e3ad84c27dc9&100.jpg',CheckID: '0',PhotoNum: '3',CreateDate: '2009-9-16 15:00:57',UpdateDate: '2009-10-29 9:47:04',UpdateDateStr:'10月29日'}, { AlbumID: '10000