dongyi8383 2014-10-21 02:41
浏览 31
已采纳

使用javascript从php显示解析json

I have a 2 part question. In PHP, I use fetch_assoc like in the answer from this post which returns an array of objects. Then my JS is:

var result = JSON.parse(response),
    output = "";
for (var i = 0; i < result.length; i++){
    var obj = result[i];
    output += "<div class='mysql_row'>";
    for (key in obj){
        output += "<div class='mysql_col'>" + obj.key. + "</div>";
    }
    output += "</div>";
}
document.getElementById('main_grid').innerHTML = output;

I read in another post that using "key" should give me the value, but I'm getting undefined even though logging to the console gives me an array of strings.

  1. Am I doing something wrong with my for..in?
  2. I'm not too experienced with PHP, is there a more elegant way to echo and display the data? My PHP code:

    $load = $connect->query("SELECT * FROM `user` WHERE `role` = 2");
    $emp_proj = array();
    while ($row = $load->fetch_assoc()){
        $emp_proj[] = $row;
    };
    echo json_encode($emp_proj);
    
  • 写回答

1条回答 默认 最新

  • douque9815 2014-10-21 02:59
    关注

    It is not obj.key which gives you the value you want, but obj[key]:

    var result = JSON.parse(response),
        output = "";
    for (var i = 0; i < result.length; i++){
        var obj = result[i];
        output += "<div class='mysql_row'>";
        for (key in obj){
            output += "<div class='mysql_col'>" + obj[key] + "</div>";
        }
        output += "</div>";
    }
    document.getElementById('main_grid').innerHTML = output;
    

    obj.key is looking at the object obj and retrieving a property whose key is the string "key". obj[key] retrieves a property whose name is the value of the variable key.

    var obj = {
        key: 5,
        username: "test"
    };
    
    var key = "username";
    console.log(obj.key); // 5
    console.log(obj[key]); // "test"
    console.log(obj.username); // "test"
    console.log(obj["username"]); // "test"
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)