php 对象字面量,js的字面量对象和JSON的区别

这篇博客探讨了PHP中JSON与关联数组的关系,以及前端jQuery AJAX如何将JSON数据发送到后端PHP。通过示例展示了数组转换为JSON字符串的过程,以及前端如何构建JSON对象。在后端,PHP接收到JSON数据后,无论是对象还是数组形式,都能正确解析。同时,文章还展示了处理图片源数据的示例。
摘要由CSDN通过智能技术生成

用PHP视角来看,JSON就是PHP里的关联数组,就是键值对.

echo json_encode(array( 'A', 'B' )); // ["A","B"]

echo json_encode(array( 0 => 'A', 1 => 'B' )); // ["A","B"]

echo json_encode(array( 0 => 'A', 2 => 'B' )); // {"0":"A","2":"B"}

前端jQuery AJAX传输JSON给后端PHP.

前端:

var arr = {Client:"jQuery",Server:"PHP"}; //键名没有用双引号包围

var str = JSON.stringify(arr); //对象转为字符串后键名被加上了双引号

console.log(str); //输出 {"Client":"jQuery","Server":"PHP"}

var img = {};

$("img").each(function(index, ele){

//console.log("键:"+index+" 值:"+$(ele).attr('src'));

img[index] = $(ele).attr('src');

});

console.log(img); //输出 { 0="//c1.mifile.cn/1.png", 1="//c1.mifile.cn/2.png"}

$.post(

"http://127.0.0.1/test.php", //url:发送请求地址

{name:"ele", pass:"123", json:arr}, //data:待发送的K:V参数

function(data){ //callback:发送成功时的回调函数

console.log(data);

}

);

后端:

header('Content-Type: text/plain; charset=utf-8');

header('Access-Control-Allow-Origin: http://www.mi.com');

var_export($_POST);

//json:arr时输出

array (

'name' => 'ele',

'pass' => '123',

'json' =>

array (

'Client' => 'jQuery',

'Server' => 'PHP',

),

)

//json:str时输出

array (

'name' => 'ele',

'pass' => '123',

'json' => '{"Client":"jQuery","Server":"PHP"}',

)

//json:img时输出

array (

'name' => 'ele',

'pass' => '123',

'json' =>

array (

0 => '//c1.mifile.cn/1.png',

1 => '//c1.mifile.cn/2.png',

),

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值