我所理解的JSON

JSONJavaScript 对象表示法,用对象的方式去表示字符串

 

JSON 又叫 JSON 文本,其本质就是字符串,有特定规则的字符串。

JSON 里面的数据用键值对表示,所有数据都要加双引。

 

系列化,把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的)

 

var student = new Object(); 
student.name = "Lanny"; 
student.age = "25"; 
student.location = "China"; 
var json = JSON.stringify(student); 
alert(student);

 

 

 

解析,把字符串中解析成json对象

① JSON.parse()

 

var str = '{"name":"huangxiaojian","age":"23"}'

JSON.parse(str)

结果:

Object

age: "23"

name: "huangxiaojian"

__proto__: Object

 

② var obj = eval ("(" + txt + ")");

 

php那边

json_encode — 变量进行JSON编码,就是把变量转换成 JSON 格式的字符串

 

json_encode( ); 对中文支持的不好,所以有了下面的自定义函数:

 

ch_json_encode( );

在下面附上这个函数的定义
<?php

/**

 * 对数组和标量进行 urlencode 处理

 * 通常调用 wphp_json_encode()

 * 处理 json_encode 中文显示问题

 * @param array $data

 * @return string

 */

function wphp_urlencode($data) {

if (is_array($data) || is_object($data)) {

foreach ($data as $k => $v) {

if (is_scalar($v)) {

if (is_array($data)) {

$data[$k] = urlencode($v);

} else if (is_object($data)) {

$data->$k = urlencode($v);

}

} else if (is_array($data)) {

$data[$k] = wphp_urlencode($v); //递归调用该函数

} else if (is_object($data)) {

$data->$k = wphp_urlencode($v);

}

}

}

return $data;

}

/**

 * json 编码

 *

 * 解决中文经过 json_encode() 处理后显示不直观的情况

 * 如默认会将“中文”变成"\u4e2d\u6587",不直观

 * 如无特殊需求,并不建议使用该函数,直接使用 json_encode 更好,省资源

 * json_encode() 的参数编码格式为 UTF-8 时方可正常工作

 *

 * @param array|object $data

 * @return array|object

 */

function ch_json_encode($data) {

$ret = wphp_urlencode($data);

$ret = json_encode($ret);

return urldecode($ret);

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值