访问来自PHP的JSON数组元素

访问来自PHP的JSON数组元素,php,javascript,arrays,json,parsing,Php,Javascript,Arrays,Json,Parsing,我有 {用户id:2790,自由职业者姓名:,订单id:8895,订单金额:33638.00,付款方式:,付款说明:,订单编号:newlink,总佣金:3046.08,自动增值编号:2,邮箱:,国家:,订单编号:,发货公司:,重量:0,fname:,姓氏:,发货成本:0.00,付款日期:} {用户id:2790,自由职业者姓名:,订单id:9121,订单金额:0.00,付款方式:,付款方式:,订单描述:,新链接,总佣金:0.00,自动递增id:1,邮箱:,国家:,订单地址:,发货公司:,重量:0

我有

{用户id:2790,自由职业者姓名:,订单id:8895,订单金额:33638.00,付款方式:,付款说明:,订单编号:newlink,总佣金:3046.08,自动增值编号:2,邮箱:,国家:,订单编号:,发货公司:,重量:0,fname:,姓氏:,发货成本:0.00,付款日期:}

{用户id:2790,自由职业者姓名:,订单id:9121,订单金额:0.00,付款方式:,付款方式:,订单描述:,新链接,总佣金:0.00,自动递增id:1,邮箱:,国家:,订单地址:,发货公司:,重量:0,名称:,姓氏:,发货成本:0.00,付款时间:}

来自此PHP代码

$result = mysql_query ("SELECT * FROM order_list");
$myjsons = array();
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
    $myjsons[$i] = json_encode(array($row));
$myjsons[$i] = substr($myjsons[$i], 1, -1);

    $i++;
}


echo json_encode($myjsons);
我试图访问每个元素,但似乎数组只是一个字符串,没有像user\u id-order\u id这样的元素

下面是读取JSON的javascript

$("#txtfld").val(data[0]);
$("#resultTXT").val(data[1]);
我想要他们喜欢的

txtfld=数据[0]。用户id和结果文本=数据[0]。订单id


因此,问题是,如果在将结果返回给用户之前,再次使用echo语句中的json_encode,那么就要获取用户id order id和etc,这一行

$myjsons[$i] = json_encode(array($row));
…不要在循环内进行json_编码。你是双重编码。您似乎也不想在此处使用数组。所以,只要做:

$myjsons[$i] = $row;
实际上,你可以这样做:

$myjsons[] = $row;
并摆脱:

$myjsons[$i] = substr($myjsons[$i], 1, -1);

另外,正如有人在评论中指出的,您需要使用var obj=JSON.parsedata;在客户端,您可能希望在不支持JSON的情况下有条件地添加库版本的JSON,例如,因为旧浏览器不支持它。

您没有任何数组。数组有[…]JSON.parse str将解析字符串并返回object。我对JSON不熟悉,你能告诉我在哪里可以找到一个好的教程吗?我曾尝试从w3schools学习,但解释太简单,没有涵盖我的问题。你试过了吗?对于您的用例,基本上是在PHP中,您将希望通过在客户端调用相当于JSON.stringify的JSON_encode函数,将最终的PHP数组或对象转换为JSON。这将数组/对象表示为一个字符串,可以通过HTTP发送,其内容稍后可以使用JSON.parse解析,相当于在客户端用PHP将JSON_解码回可用的数组/对象。