標籤:關於ajax讀取資料表中存放複合json的問題
自己類比了一點json資料存放在了資料庫一個表中大家可以自己類比
{"1":{"id":"1","name":"asd","type":"1","value":"1L,4L"}}{"2":{"id":"2","name":"kjf","type":"1","value":"1L,4L"}}{"3":{"id":"3","name":"sss","type":"1","value":"1L,4L"}}
下面我用的pdo執行的php檔案
<?php$db = ‘mysql‘;$host =‘localhost‘;$port = ‘3306‘;$dbname = ‘t_shop‘;$user = ‘root‘;$pwd = ‘‘;$dsn = "$db:host=$host;port=$port;dbname=$dbname"; //設定字元集 $options = array(PDO::MYSQL_ATTR_INIT_COMMAND=>‘SET NAMES \‘UTF8\‘‘); $pdo = new PDO($dsn,$user,$pwd,$options);$sql="select id,json from ecs_json";$res=$pdo->query($sql);$row = $res->fetchAll();// $row是一個含有json欄位索引值得二維數組//列印結果 Array( [0] => Array ( [id] => 1 [0] => 1 [json] => {"1":{"id":"1","name":"asd","type":"1","value":"1L,4L"}} [1] => {"1":{"id":"1","name":"asd","type":"1","value":"1L,4L"}} ) [1] => Array ( [id] => 2 [0] => 2 [json] => {"2":{"id":"2","name":"kjf","type":"1","value":"1L,4L"}} [1] => {"2":{"id":"2","name":"kjf","type":"1","value":"1L,4L"}} ) [2] => Array ( [id] => 3 [0] => 3 [json] => {"3":{"id":"3","name":"sss","type":"1","value":"1L,4L"}} [1] => {"3":{"id":"3","name":"sss","type":"1","value":"1L,4L"}} ))//定義一個空數組 把二維組裡json解析後放進新數組中$json = array();foreach ($row as $k=>$v){ //json新數組中放入我需要的id 和 json 的二維數組鍵 $json[$k][‘id‘] =$v[‘id‘]; //把索引值為json的json串轉換成數組 放到新數組中 $json[$k][‘json‘] =json_decode($v[‘json‘],true); //轉換成數組的json串 //Array( [3] => Array ( [id] => 3 [name] => sss [type] => 1 [value] => 1L,4L )) }echo json_encode($json);exit;
前端ajax接收輸出
<script> //解析json function Object(value){ return eval("("+value+")"); } function get_wd(){ $.get(‘./json.php‘,function (data){ var data = Object(data) for(i in data){ var obj = data[i][‘json‘]; var keys = []; var values = []; for(var key in obj){ // console.log(key); // keys.push(key); //定義一個數組用來接受key // values.push(obj[key]);//取得value //追加內容定義追加對象的id $(‘#div1‘).append(‘<p>‘+obj[key][‘name‘]+‘<p>‘); } } }) } </script> <title>前端接收json</title> </head> <body id="userlogin_body"> <div class="popped_card_con" id="div1"> <p>姓名</p> </div> <input type="button" value="點擊" onclick="get_wd()"/> </body>
本文出自 “kangjunfei” 部落格,轉載請與作者聯絡!
關於ajax讀取資料表中存放複合json的問題