由于具体语法以及数据类型的不同,在进行WEB开发的时候,各种语言之间的数据转换总是一个比较头疼的问题。而JSON就充当了一个桥梁的作用,通过对数据进行标准化的字符串转换,就能非常方便的实现原始数据结构级别的共享。
原理和过程都很简单,JSON通过
统一标准把复杂数据转化为字符串,来充当桥梁:
1. 在环境1下,对其特有的数据进行
序列化。
2. 将字符串序列传至环境2.
2. 在环境2下,对字符串进行
反序列化得到环境2特有的数据表示。
JSON几乎适用于所有的场合,下面通过服务器端
PHP和浏览器端
Javascript之间的数据转换为例进行简要介绍。
一. 从Javascript到PHP数据传输 下面是浏览器端收集到的数据,存放在一个复杂的哈希表中,要把这个数据传到服务器端。其中的json2.js提供了标准的JSON操作
二. PHP接收Javascript传回的数据
下面是服务器端接收浏览器传回的数据进行分析、存储等处理
- <?php
-
//check if the return is correct
-
if (! isset($_POST['feedback'])) {
-
// check if there are feedback
-
print "Wrong usage";
-
die();
-
}
-
-
$feedback = $_POST['feedback'];
- $obj = json_decode($feedback,true);//true is to make the result is array, or it is obj
-
//then developer could use the data
-
?>
三. 从PHP到Javascript数据传输
这个过程就简单了,因为Javascript脚本就是由PHP产生的,所以不需要发送和接收,JSON序列化字符串直接由PHP生成并放进Javascript文件中,由Javascript在浏览器端进行反序列化。
- <?php
- $data=array
(
"A"=>array('come','go'),
"B"=>array('go','come')
);
- $source=json_encode($data);
- ?>
-
-
<head>
- <link rel="javascript" type="text/javascript" href="json2.js" />
-
<title>Summary</title>
-
-
<script type="text/javascript">
-
var source=''; //
- window.onload = function(){
var data=JSON.parse(source);
//go on with the data
}
阅读(2459) | 评论(0) | 转发(0) |