关于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>
时间: 2024-11-05 18:40:17

关于ajax读取数据表中存放复合json的问题的相关文章

c#用NPOI将excel文件内容读取到datatable数据表中

将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable 1 /// <summary> 2 /// 将excel文件内容读取到DataTable数据表中 3 /// </summary> 4 /// <param name="fileName">文件完整路径名</param> 5 /// <param name=

一百一十五、脱离SAP本体,通过ActiveX读取SAP表中数据

一.Sap自带有客户端,但是非常之臃肿卡顿,可以利用ActiveX的方式,脱离Sap本体,来读取Sap表中的内容进行插入等操作,非常之方便.代码如下: 二.界面如下,输入好相关内容,点击登录,提示登录成功 三.点击读表内容按钮,可以读出来表内容 四.我们打开SAP的表,和我们读出来的对比一下,发现一模一样 非常之完美,有很大的想象空间. 原文地址:https://www.cnblogs.com/tianpan2019/p/11444016.html

使用PreparedStatement向数据表中插入、修改、删除、获取Blob类型的数据

Blob介绍 BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型 类型       大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G Oracle LOB介绍 LOB,即Large Objects(大对象),是用来存储大量的二

MySQL查询数据表中数据记录(包括多表查询)

MySQL查询数据表中数据记录(包括多表查询) MySQL查询数据表中数据记录(包括多表查询) 转自:http://www.baike369.com/content/?id=5355 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: select selection_list // 要查询的内容,选择哪些列 from table_list // 从什么表中查询,从何处选择行 where primary_

默认情况下,不使用of子句表示在select所有的数据表中加锁(转)

Select …forupdate语句是我们经常使用手工加锁语句.通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作.同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍. 借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作.本篇我们就来介绍一下这个子句的用法和功能. 下面是采自Oracle官方文档<SQLLanguage Reference>中关于for update子句的说明:(请双击点开图片查看) 从for

mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法

[CSDN下载] Powerdesigner 设计主键code不能重复等问题 [CSDN博客] Oracle中用一个序列给两个表创建主键自增功能的后果 [CSDN博客] MySQL自增主键删除后重复问题 [CSDN博客] mysql 主从复制 双主从复制原理 防止主键重复问题(必看) [CSDN博客] replace into导致mysql自增列导致主键重复问题分析 [CSDN博客] 一个循环更新某库所有表所有非主键列的值方法(sql 2005 & mysql) [CSDN博客] mysql i

用javascript技术读取注册表中软件安装位置并启动本地软件

1.首先读取注册表中本地软件安装的位置,如果未安装则无就跳转到下载页面. 2.启动软件,关闭页面. 3.如报错提示. <SCRIPT language=javascript>  <!--   function killErrors(){  alert("请将您浏览器Internet选项中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”设置为“启用”!/n/n然后刷新本页登陆!");  return true;}   window.onerror = ki

code first网站发布后数据表中没有数据问题

code first网站发布后数据表中没有数据问题 (1).将internal sealed class Configuration类访问修饰符改为public  class Configuration : DbMigrationsConfiguration<SimpleNews.EntityModels.SimpleNewsContext> (2).在Global文件的Start()方法中加入下面一段代码 Database.SetInitializer( new MigrateDatabas

Oracle使用游标删除所有用户数据表中的所有记录脚本

应用场景:因为数据库中的数据涉及机密信息,希望一次性能删除掉所有数据,只保留数据表结构,供新项目开发程序用 测试结果:经查询已删除所有数据 存在问题:数据表如果存在外键的话下面脚本可能执行不成功,请自行删除或者过滤掉该表,见下图 操作办法:直接将下面的脚本内容复制到PQSQL中执行即可 --Oracle使用游标删除所有用户数据表中的所有记录脚本 declare mystring NVARCHAR2(1000):=''; --定义要输出的字符串变量 cursor mycursor is --定义游