JSON与JS区别,JSON与PHP数据交互

一、JSON定义

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包

二、JS语法

var obj1={};
var obj2={width:100,height:200};
var obj3={'width':100,'height':200};
var obj4={"name":"Liza", "password":"123"};
var obj5=[{"name":"Liza", "password":"123"},
          {"name":"Mike", "password":"123"},
          {"name":"John", "password":"123"}];
这些都是js的对象或数组

三、JSON结构

在json中,有两种结构:对象和数组。

  • 对象
    var data={"name":"Liza", "password":"123"}
    //我们也可以把这个成为JSON格式的JavaScript对象
    
  • 数组
    var data=[{"name":"Liza", "password":"123"},
              {"name":"Mike", "password":"123"},
              {"name":"John", "password":"123"}];
    //我们也可以把这个成为JSON格式的JavaScript数组
    

从两个结构可以看出JSON作为数据形式,基于JavaScript的原生格式,在声明上是一样的
包含关系

四、JSON与PHP数据传输的实际运用

  • PHP部分
    /*省略数据库连接和查询语句*/  
    /*假设查询结果为{"name":"Liza", "password":"123"}*/
    
    $data=[];//一维数组
    while($result->fetch_rows())
    {
        $array=[
            "name"=>$result[0],
            "password"=>$result[1]
        ]
        
        array_push($data,$array)
    }
    
    echo json_encode($data)
    //将PHP数组转换为JSON格式(JS格式)数组
    //但根据PHP手册,我们可以知道json_encode返回的是字符串类型
    //http://www.php.net/json_encode/
    
  • 实际返回部分
    '{"name":"Liza", "password":"123"}'
    //是字符串
    
  • html页面中JS部分
    $.ajax({
        type:"POST",
        url:"xxx"
        data:"xxx"
        success: function(data){
            console.log(data)
            //成功后接收PHP发出的字符串
            //在浏览器控制台打印,是JSON格式的字符串,js无法处理
            var obj=JSON.parse(data)
            console.log(obj)
            //经过处理后obj才是js数组,js才能进行处理
            //此时打印出来才是数组
        }
        error : function(){
            
        }
    })
    

数据流动

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值