如何从json方法中获取每个值

时间:2012-10-25 05:41:52

标签: php javascript jquery ajax json

ajax

$('#stb_no').blur(function(){
    var stb_no= $('#stb_no').val();
    $.ajax({
        url: "http://localhost/paymybill/ajax/stb_info",
        global: false,
        type: "POST",
        data: {
            'stb_no':stb_no, // you should give a key to the variable
        },
        success: function(data) {
            $('#amount').val(data);
     //     $(".email_msg").addClass("red");
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log(textStatus, errorThrown);
        }
    });
});

控制器代码

public function stb_info(){
    $stb_no=$this->mso->alldata_stbno($this->input->post('stb_no'));
    echo json_encode($stb_no);
}

我要出去了

[{"sxb_no":"xxxxxx","mzo_name":"xx","cto_name":"xxxxx","area":"xxxxx","name_sxb_owr":"","mobile_no":"xxxxxx","email":"xxxxx@yahoo.com","amount":"xxx"}]

我需要知道如何获得每个值ex: - 如果我想获得电子邮件ID我应该在jquery做什么请帮助我我ajax

3 个答案:

答案 0 :(得分:1)

大多数浏览器都支持JSON.parse(),它是在ECMA-262中定义的,是推荐的方式。它的用法很简单(我将使用你的例子JSON):

var json = '{"area":"xxxxx",...,"email":"xxxxx@yahoo.com","amount":"xxx"}';
var obj = JSON.parse(json);

请注意,无法使用obj.email,因为您正在解析数组。

编辑:检查你的注释你需要知道数据参数是JSON对象,先解析它然后你可以这样做:

$('#amount').val(obj[0].email);

答案 1 :(得分:1)

只需添加到$.ajax调用参数dataType:"json",Jquery就会自动在success参数中解析它。然后使用它data[0]['email'];

答案 2 :(得分:0)

例如:

$('#stb_no').blur(function(){
    var stb_no= $('#stb_no').val();
    $.ajax({
        url: "http://localhost/paymybill/ajax/stb_info",
        global: false,
        type: "POST",
        data: {
            'stb_no':stb_no, // you should give a key to the variable
        },
        success: function(data) {
            $('#email').val(data[0]['email']);

            //OR
            var obj = JSON.parse(data);
            $('#email').val(obj[0].email);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log(textStatus, errorThrown);
        }
    });
});