json将多行读取为新的onces

json read multiply lines as new onces

本文关键字:onces 读取 json      更新时间:2024-02-23

我有一个问题,我的应用程序在读取多个值时出现问题,当有两个值时,它返回零。

示例:

我得到:

男性:{"name":"alexanderbb10","pic":"ico/nopic.png"}{"name":"admin","pic":"ico/nopic.png"}

$.ajax({
    type: "GET",
    url: "http://p********************************/explore.php?usr="+******************+"&what="+strUser,
    dataType: "json",
    data: dataString,
    success: function(data)
    {
$('#explorediv').append('<div id="pic" data-bb-type="item" data-bb-img="' + data.pic + '" data-bb-title="' + data.name + '">' + data.name + '</div>').show('fast');
    }
    });

但它只显示了一个结果。

如何确保它显示所有结果?

服务器端是php

包装数组中的两个对象

{male: [{"name":"alexanderbb10","pic":"ico/nopic.png"}, {"name":"admin","pic":"ico/nopic.png"}]}
var result = JSON.parse(xhr.responseText);
for (var i = 0, len = result.male.length; i < len; ++i) {
  // result.male[i]; 
}

您的是无效的JSON:

male: {"name":"alexanderbb10","pic":"ico/nopic.png"} {"name":"admin","pic":"ico/nopic.png"}

如果ajax请求返回的数据是一个对象数组,如

[
    {"name":"alexanderbb10","pic":"ico/nopic.png"}
    {"name":"admin","pic":"ico/nopic.png"}
]

为了显示数据内部的所有元素,您必须循环所有数组元素,尝试更改成功函数,如下所示:

function(data) {
    for(var k in data){
          $('#explorediv').append('<div id="pic" data-bb-type="item" data-bb-img="' + data[k].pic + '" data-bb-title="' + data.name + '">' + data[k].name + '</div>').show('fast');
    }
}