关于json的学习
时间:2009-12-30
来源:互联网
本帖最后由 13681457640 于 2009-12-30 15:05 编辑
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
body {
background-color: #fff;
margin: 40px;
font-family: Lucida Grande, Verdana, Sans-serif;
font-size: 14px;
color: #4F5155;
}
code {
font-family: Monaco, Verdana, Sans-serif;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
</style>
<p>json实例</p>
<p>1.json是一种数据存储传送机制,它和xml的工作很相近,但是在对js传递数据的时候会更好一些,它能够被js直接读取赋值,在不同语言中赋值省去了很多麻烦</p>
<pre><code>
//注意json只能传送utf-8编码,如遇gbk编码(中文)必须转换.
$phparry = array(
'name' => iconv('gbk', 'utf-8', '我的名字'),
'nick' => iconv('gbk', 'utf-8', '这是昵称'),
'contact' => array(
'email' => 'shenkong at qq dot com',
'website' => 'http://www.chenyixin.com',
)
);
//用php内置函数转换
$json_string = json_encode($phparry);
//输出
echo $json_string;
</code></pre>
<p>下面是它的输出结果,其实就是一个按指定规则排列的字符串,不过重点看一下中文部分,每一个汉字被对应的编码所取代</p>
<p>{"name":"\u6211\u7684\u540d\u5b57","nick":"\u8fd9\u662f\u6635\u79f0","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}}</p>
<pre><code>
//此处的/是为了转义";
$jsonstr = "{\"name\":\"\u6211\u7684\u540d\u5b57\",\"nick\":\"\u8fd9\u662f\u6635\u79f0\",\"contact\":{\"email\":\"shenkong at qq dot com\",\"website\":\"http:\/\/www.chenyixin.com\"}}";
//用php内置函数转换
$phparray = json_decode($jsonstr);
//由于被转换过来的中文都会变成utf-8,所以我们要想正常访问,就需要把它转换成gbk,(注意如果你的编码就是utf-8,那么可以跳过此部)
$phparray->name = iconv('utf-8', 'gbk', $phparray->name);
$phparray->nick = iconv('utf-8', 'gbk', $phparray->nick);
//输出
print_r($phparray);
</code></pre>
stdClass Object
(
[name] => 我的名字
[nick] => 这是昵称
[contact] => stdClass Object
(
[email] => shenkong at qq dot com
[website] => http://www.chenyixin.com
)
)
<p>2.json在javascript中的用法</p>
<p>注意json的基本格式:{}表示一组数据(就相当于php里的一个数组),{"key1":"value1", "key2":"value2"},这就是一键一值的表示方式,它也允许一个组里套入另一个组,就和php里的一维二维数组一样</p>
<pre><code>
//这里是json在javascript中的简单用法
var arr = {"name":"\u6211\u7684\u540d\u5b57","nick":"\u8fd9\u662f\u6635\u79f0","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}};
document.write(arr.name);
document.write(arr.nick);
</code></pre>
<script type = "text/javascript">
var arr = {"name":"\u6211\u7684\u540d\u5b57","nick":"\u8fd9\u662f\u6635\u79f0","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}};
document.write(arr.name);
document.write(arr.nick);
</script>
stu_json.php (3.06 KB)
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
body {
background-color: #fff;
margin: 40px;
font-family: Lucida Grande, Verdana, Sans-serif;
font-size: 14px;
color: #4F5155;
}
code {
font-family: Monaco, Verdana, Sans-serif;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
</style>
<p>json实例</p>
<p>1.json是一种数据存储传送机制,它和xml的工作很相近,但是在对js传递数据的时候会更好一些,它能够被js直接读取赋值,在不同语言中赋值省去了很多麻烦</p>
<pre><code>
//注意json只能传送utf-8编码,如遇gbk编码(中文)必须转换.
$phparry = array(
'name' => iconv('gbk', 'utf-8', '我的名字'),
'nick' => iconv('gbk', 'utf-8', '这是昵称'),
'contact' => array(
'email' => 'shenkong at qq dot com',
'website' => 'http://www.chenyixin.com',
)
);
//用php内置函数转换
$json_string = json_encode($phparry);
//输出
echo $json_string;
</code></pre>
<p>下面是它的输出结果,其实就是一个按指定规则排列的字符串,不过重点看一下中文部分,每一个汉字被对应的编码所取代</p>
<p>{"name":"\u6211\u7684\u540d\u5b57","nick":"\u8fd9\u662f\u6635\u79f0","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}}</p>
<pre><code>
//此处的/是为了转义";
$jsonstr = "{\"name\":\"\u6211\u7684\u540d\u5b57\",\"nick\":\"\u8fd9\u662f\u6635\u79f0\",\"contact\":{\"email\":\"shenkong at qq dot com\",\"website\":\"http:\/\/www.chenyixin.com\"}}";
//用php内置函数转换
$phparray = json_decode($jsonstr);
//由于被转换过来的中文都会变成utf-8,所以我们要想正常访问,就需要把它转换成gbk,(注意如果你的编码就是utf-8,那么可以跳过此部)
$phparray->name = iconv('utf-8', 'gbk', $phparray->name);
$phparray->nick = iconv('utf-8', 'gbk', $phparray->nick);
//输出
print_r($phparray);
</code></pre>
stdClass Object
(
[name] => 我的名字
[nick] => 这是昵称
[contact] => stdClass Object
(
[email] => shenkong at qq dot com
[website] => http://www.chenyixin.com
)
)
<p>2.json在javascript中的用法</p>
<p>注意json的基本格式:{}表示一组数据(就相当于php里的一个数组),{"key1":"value1", "key2":"value2"},这就是一键一值的表示方式,它也允许一个组里套入另一个组,就和php里的一维二维数组一样</p>
<pre><code>
//这里是json在javascript中的简单用法
var arr = {"name":"\u6211\u7684\u540d\u5b57","nick":"\u8fd9\u662f\u6635\u79f0","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}};
document.write(arr.name);
document.write(arr.nick);
</code></pre>
<script type = "text/javascript">
var arr = {"name":"\u6211\u7684\u540d\u5b57","nick":"\u8fd9\u662f\u6635\u79f0","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}};
document.write(arr.name);
document.write(arr.nick);
</script>

作者: 13681457640 发布时间: 2009-12-30
丁
作者: qingxuan812 发布时间: 2009-12-30
建议还是看看ecshop的json.inc.php类.
作者: spser 发布时间: 2009-12-30
看看
作者: 斯人 发布时间: 2009-12-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28