Javascript JSON使用JQUERY拆分数据

Javascript JSON使用JQUERY拆分数据,javascript,jquery,json,Javascript,Jquery,Json,我是第一次使用json,所以这可能是一个有点愚蠢的问题 我返回json的PHP代码如下: $query="SELECT * FROM user_db WHERE rest_id='$rest_id'"; $result=mysqli_query($dbc, $query); $row=array(); while($r = mysqli_fetch_assoc($result)) { $rows{'Users'][] = $r; } echo json_encode($rows); 这

我是第一次使用json,所以这可能是一个有点愚蠢的问题

我返回json的PHP代码如下:

$query="SELECT * FROM user_db WHERE rest_id='$rest_id'";
$result=mysqli_query($dbc, $query);
$row=array();
while($r = mysqli_fetch_assoc($result)) {
    $rows{'Users'][] = $r;
}
echo json_encode($rows);
这将返回以下内容:

{"Users":
[{"user_id":"1361453832p3y","name":"","username":"sideshow","password":"sideshow","user_type":"1","rest_id":"1361453832fxL","email":""},
{"user_id":"1361523362ANq","name":"Sharon","username":"Sharon45","password":"Sharon45","user_type":"3","rest_id":"1361453832fxL","email":""},
{"user_id":"1361523653SXp","name":"Heather F","username":"fishface","password":"golliwog","user_type":"3","rest_id":"1361453832fxL","email":""}]}
我所要做的就是循环出结果并将它们附加到页面中

我当前的JQuery是:

var name="";
        var username="";
        var password="";
        var user_type="";
        var output="";
        var obj=$.parseJSON(html);

        $.each(obj, function(){
            output+="<p><strong>"+this['name']+"</strong></p>";
            output+="<p>Username: "+this['username']+" Password: "+this['password']+"</p>";
            output+="<hr />";
        });


        $('.user_holder').html(output);
var name=”“;
var username=“”;
var password=“”;
var user_type=“”;
var输出=”;
var obj=$.parseJSON(html);
$.each(对象,函数(){
输出+=“”+此['name']+“

”; 输出+=“用户名:“+此['Username']+”密码:“+此['Password']+”

”; 输出+=“
”; }); $('.user_holder').html(输出);

这只是在每个字段中重复三次。我还没有找到一种方法来循环遍历每个json字段….

您需要循环遍历每个json对象,并引用一个包含数据的索引和对键的引用

比如说

 obj['Users'][0]['Username']
将返回用户名的第一个实例


因此,需要使用嵌套的for循环来循环数据

您需要循环遍历每个JSON对象,并引用包含数据的索引和对键的引用

比如说

 obj['Users'][0]['Username']
将返回用户名的第一个实例

因此,需要使用嵌套的for循环来循环数据

您可以尝试以下方法:

var name="";
var username="";
var password="";
var user_type="";
var output="";

$.each($.parseJSON(html).Users, function(){
    output+="<p><strong>"+this['name']+"</strong></p>";
    output+="<p>Username: "+this['username']+" Password: "+this['password']+"</p>";
    output+="<hr />";
});
您可以尝试以下方法:

var name="";
var username="";
var password="";
var user_type="";
var output="";

$.each($.parseJSON(html).Users, function(){
    output+="<p><strong>"+this['name']+"</strong></p>";
    output+="<p>Username: "+this['username']+" Password: "+this['password']+"</p>";
    output+="<hr />";
});
改变这个

$.each(obj, function(){
为此:

$.each(obj.Users, function(){
改变这个

$.each(obj, function(){
为此:

$.each(obj.Users, function(){

如果我没弄错的话,你马上就要搞定了。我认为您只是没有引用obj中的用户字段

$.each(obj.Users, function(){
    output+="<p><strong>"+this['name']+"</strong></p>";
    output+="<p>Username: "+this['username']+" Password: "+this['password']+"</p>";
    output+="<hr />";
});
$.each(obj.Users,function(){
输出+=“”+此['name']+“

”; 输出+=“用户名:“+此['Username']+”密码:“+此['Password']+”

”; 输出+=“
”; });
console.log是您的朋友:)如果是

控制台日志(obj)

你可以检查什么是obj,看到它有一个用户字段,你会笑:)


要了解console.log,请参阅以下问题:

如果我理解正确,您很快就可以搞定它了。我认为您只是没有引用obj中的用户字段

$.each(obj.Users, function(){
    output+="<p><strong>"+this['name']+"</strong></p>";
    output+="<p>Username: "+this['username']+" Password: "+this['password']+"</p>";
    output+="<hr />";
});
$.each(obj.Users,function(){
输出+=“”+此['name']+“

”; 输出+=“用户名:“+此['Username']+”密码:“+此['Password']+”

”; 输出+=“
”; });
console.log是您的朋友:)如果是

控制台日志(obj)

你可以检查什么是obj,看到它有一个用户字段,你会笑:)

要了解console.log,请参阅以下问题:

试试看

$.each(json,function(i,j){
    $(j).each(function(k,v){    
     console.log(v.user_id);
     console.log(v.username);        
    });
});
试试看

$.each(json,function(i,j){
    $(j).each(function(k,v){    
     console.log(v.user_id);
     console.log(v.username);        
    });
});
试试:

$.each(obj.Users, function(){
        output+="<p><strong>"+this['name']+"</strong></p>";
        output+="<p>Username: "+this['username']+" Password: "+this['password']+"</p>";
        output+="<hr />";
    });
$.each(obj.Users,function(){
输出+=“”+此['name']+“

”; 输出+=“用户名:“+此['Username']+”密码:“+此['Password']+”

”; 输出+=“
”; });
试试:

$.each(obj.Users,function(){
输出+=“”+此['name']+“

”; 输出+=“用户名:“+此['Username']+”密码:“+此['Password']+”

”; 输出+=“
”; });
你试过这样做吗

         for(var i=0; i < obj.Users.length; i++){
            var username  =obj.Users[i].username;
                //TODO get remaining value of  obj.Users[i];

        } 
for(var i=0;i
你试过这样做吗

         for(var i=0; i < obj.Users.length; i++){
            var username  =obj.Users[i].username;
                //TODO get remaining value of  obj.Users[i];

        } 
for(var i=0;i
如何获取返回数据的计数?这就是我似乎感到困惑的地方。我如何获得返回数据的计数?这就是我看起来像stuckvar obj=$.parseJSON(html)的地方;什么包含html?var obj=$.parseJSON(html);什么包含html?