您的位置:首页 > Web前端

json数据在前端和php后端处理注意事项

2015-07-19 23:33 531 查看
1.前端要解析解析json的数据,要用
$.ajax({

     type: 'POST',

     url: url,

    data: data,

    dataType: 'json',//特别注意

    success: success,

});如果用$.post()或$.get()来请求的回来的数据,不能解析为json对象来取里面的值

2.js内置两个解析json的函数

parse用于从一个字符串中解析出json对象,如

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

结果:

JSON.parse(str)

Object

age: "23"
name: "huangxiaojian"
__proto__: Object

注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。

stringify()用于从一个对象解析出字符串,如

var
a = {a:1,b:2}

结果:

JSON.stringify(a)

"{"a":1,"b":2}"

3.php后端

第一种是以数字为键值对情况

$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");

echo "Normal: ",  json_encode($a), "\n";


以上例程会输出:

Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]

第二种:是自己写的键值对情况

$d = array('foo' => 'bar', 'baz' => 'long');

echo "Associative array always output as object: ", json_encode($d), "\n";

echo "Associative array always output as object: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";


输出:

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}


JSON_FORCE_OBJECT选项可以变成对象的形式返回
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js javascript json php 前端