如何从json获取参数? [英] How get parametrs from json?

查看:484
本文介绍了如何从json获取参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

完整代码:

$.post('test.php', {
id: id
},function (data) {
console.log(data);
var Server = data.response.server;
var Photo = data.response.photo;

console.log(Server);
console.log(Photo);

});

data中,我得到json:

in data i get json:

{
"server":9458,
"photo":
 "[{\"photo\":\"0d6a293fad:x\",\"sizes\":  
    [[\"s\",\"9458927\",\"1cb7\",\"PX_xDNKIyYY\",75,64],
    [\"m\",\"9458927\",\"1cb8\",\"GvDZr0Mg5zs\",130,111], 
    [\"x\",\"9458927\",\"1cb9\",\"sRb1abTcecY\",420,360], 
    [\"o\",\"9458927\",\"1cba\",\"J0WLr9heJ64\",130,111], 
    [\"p\",\"9458927\",\"1cbb\",\"yb3kCdI-Mlw\",200,171], 
    [\"q\",\"9458927\",\"1cbc\",\"XiS0fMy-QqI\",320,274],
    [\"r\",\"9458927\",\"1cbd\",\"pU4VFIPRU0k\",420,360]], 
    \"kid\":\"7bf1820e725a4a9baea4db56472d76b4\"}]", 
"hash":"f030356e0d096078dfe11b706289b80a"
}

我想获取参数serverphoto[photo]

为此我使用:

var Server = data.server;
var Photo = data.photo;

console.log(Server);
console.log(Photo);

但是在console里我得到了undefined

but in concole i get undefined

比我使用代码:

var Server = data.response.server;
var Photo = data.response.photo;

console.log(Server);
console.log(Photo);

但是现在在控制台中,我看到了:

But now in console i see:

Uncaught TypeError: Cannot read property 'server' of undefined

为什么会出现错误以及如何获取参数?

Why i get errors and how get parametrs?

PS:所有代码php和jquery都找到 此处

P.S.: All code php and jquery find here

推荐答案

只需设置正确的数据类型json,默认值是string.

Just set proper data type json, the default one is string.

您的数据直接在data变量下!

And your data is directly under data variable!

$.post('test.php', {
    id: id
},function (data) {
    console.log(data);
    var Server = data.server;
    var Photo = data.photo;

    console.log(Server);
    console.log(Photo);

}, 'json');

另一种解决方案是在您的PHP响应中设置适当的标头:

Another solution is setting proper header in you PHP response:

Content-Type    text/javascript; charset=UTF-8

然后jQuery Intelligent Guess会自行设置正确的数据类型.

then jQuery Intelligent Guess, will set proper data type itself.

这篇关于如何从json获取参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆