-1

私は持っています

{"user_id": "2790"、 "freelancer_name": ""、 "order_id": "8895"、 "orderamount": "33638.00"、 "payment_method": ""、 "payment_desc": ""、 "order_st": "newlink"、 "total_comission": "3046.08"、 "auto_increment_id": "2"、 "po_box": ""、 "country": ""、 "order_add": ""、 "shipping_co": ""、 "weight ":" "0"、 "fname": ""、 "lastname": ""、 "shippingcost": "0.00"、 "paymentst": ""}

{"user_id": "2790"、 "freelancer_name": ""、 "order_id": "9121"、 "orderamount": "0.00"、 "payment_method": ""、 "payment_desc": ""、 "order_st": "newlink"、 "total_comission": "0.00"、 "auto_increment_id": "1"、 "po_box": ""、 "country": ""、 "order_add": ""、 "shipping_co": ""、 "weight ":" "0"、 "fname": ""、 "lastname": ""、 "shippingcost": "0.00"、 "paymentst": ""}

この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_id--order_idのような要素がないようです。

これがJSONを読み取るためのJavaScriptです

$("#txtfld").val(data[0]);
$("#resultTXT").val(data[1]);

私はそれらを好きにしたい

txtfld = data[0].user_idおよびresultTXT=data [0].order_id..。

したがって、問題はユーザーIDの注文IDなどを取得することです

4

1 に答える 1

3

結果をユーザーに返す前に(ステートメントのように)json_encodeを再度使用してechoいる場合、この行について...

$myjsons[$i] = json_encode(array($row));

...ループ内でjson_encodeしないでください。二重エンコードしています。また、array()ここでは使用したくないようです。だからただやってください:

$myjsons[$i] = $row;

実際には、次のことができます。

$myjsons[] = $row;

そして取り除く:

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

また、誰かがコメントで指摘したようvar obj = JSON.parse(data);に、クライアント側で使用することをお勧めしますJSONが、サポートされていない場所のライブラリ バージョン (たとえば、this one )を条件付きで追加することをお勧めします。古いブラウザでサポートされています。

于 2012-07-14T01:35:08.960 に答える