Javascript 将json对象转换为字符串

Javascript 将json对象转换为字符串,javascript,jquery,codeigniter,Javascript,Jquery,Codeigniter,我有以下控制器: public function getPrice() { $id = $this->input->post('q'); $data['price'] = $this->emodel->get_peUniformPrice($id); echo json_encode($data); } 哪个输出: "{\"price\":[{\"Price\":\"250\"}]}" 我怎样才能把它做成250?我的jQuery: funct

我有以下控制器:

public function getPrice()
{
    $id = $this->input->post('q');
    $data['price'] = $this->emodel->get_peUniformPrice($id);

    echo json_encode($data);
}
哪个输出:

"{\"price\":[{\"Price\":\"250\"}]}"
我怎样才能把它做成250?我的jQuery:

function showPrice(size) {
    $.ajax({
        type: "POST",
        url: "<?php echo site_url('enrollment/getPrice/');?>",
        data: {
            q: size
        },
        success: function(data) {
            $("#txtpeUniform").val(data);
        },
    });
}
函数showPrice(大小){
$.ajax({
类型:“POST”,
url:“”,
数据:{
q:尺寸
},
成功:功能(数据){
$(“#txtpeUniform”).val(数据);
},
});
}

ajax方法将自动将字符串反序列化为对象,因此您只需访问所需的属性即可。假设您只想检索
price
数组中返回的第一个价格,您可以通过索引直接访问它。试试这个:

success: function(data) {
    $("#txtpeUniform").val(data.price[0].Price); // = 250
},

$.ajax
方法将自动将字符串反序列化为对象,因此您只需访问所需的属性。假设您只想检索
price
数组中返回的第一个价格,您可以通过索引直接访问它。试试这个:

success: function(data) {
    $("#txtpeUniform").val(data.price[0].Price); // = 250
},

我可以看到您正在使用jQuery。。如果要将json对象转换为javascript对象,可以执行以下操作

var convertedObject = $.parseJSON($data);
alert(convertedObject.Price);
这有效地将Json字符串转换为javascript对象,您可以从中引用属性并从这些属性中获取值。。我再举一个例子

var jsonString = {'Firstname':'Thiren','Lastname':'Govender'};
var jObject = $.parseJSON(jsonString);
console.log(jObject.Firstname) // this will output Thiren.
console.log(jObject.Lastname) // this will output Govender.
修改您的代码

function showPrice(size) {
    $.ajax({
        type: "POST",
        url: "<?php echo site_url('enrollment/getPrice/');?>",
        data: {
            q: size
        },
        success: function(data) {
            console.log(data); // make sure this is returning something..
            $("#txtpeUniform").val(data);
        },
    });
}
函数showPrice(大小){
$.ajax({
类型:“POST”,
url:“”,
数据:{
q:尺寸
},
成功:功能(数据){
console.log(data);//确保这是返回的内容。。
$(“#txtpeUniform”).val(数据);
},
});
}
我希望这对你有帮助


关于

我可以看到您正在使用jQuery。。如果要将json对象转换为javascript对象,可以执行以下操作

var convertedObject = $.parseJSON($data);
alert(convertedObject.Price);
这有效地将Json字符串转换为javascript对象,您可以从中引用属性并从这些属性中获取值。。我再举一个例子

var jsonString = {'Firstname':'Thiren','Lastname':'Govender'};
var jObject = $.parseJSON(jsonString);
console.log(jObject.Firstname) // this will output Thiren.
console.log(jObject.Lastname) // this will output Govender.
修改您的代码

function showPrice(size) {
    $.ajax({
        type: "POST",
        url: "<?php echo site_url('enrollment/getPrice/');?>",
        data: {
            q: size
        },
        success: function(data) {
            console.log(data); // make sure this is returning something..
            $("#txtpeUniform").val(data);
        },
    });
}
函数showPrice(大小){
$.ajax({
类型:“POST”,
url:“”,
数据:{
q:尺寸
},
成功:功能(数据){
console.log(data);//确保这是返回的内容。。
$(“#txtpeUniform”).val(数据);
},
});
}
我希望这对你有帮助



关于

您可以使用
data.price[0]。price
获取它。您可以使用
data.price[0].Price
获取它。您是否检查了网络控制台以确保AJAX请求成功并返回了数据?这是控制台日志打印的未捕获类型错误:无法读取未定义的属性“0”…这意味着
Price
属性为空或不存在。如果将
console.log(data)
添加到上面,您会在控制台中看到什么?这是{“price”:[{“price”:“250”}}我当时不知所措,这应该可以正常工作:您是否检查过网络控制台以确保AJAX请求成功并返回数据?这是控制台日志打印的未捕获类型错误:无法读取未定义的属性“0”…这意味着
price
属性为空或不存在。如果在上面添加
console.log(data)
,你会在控制台中看到什么?这是{“price”:[{“price”:“250”}}我当时不知所措,因为这应该可以正常工作:键入从上面的修改中在日志中显示的内容我在控制台logOkay中发布了输出,所以它是一个价格数组,你能试试这个给我输出吗var priceData=$.parseJSON(数据);console.log(priceData);'它在控制台日志中显示这个{“price”:[{“price”:“500”}}试试这个“$(“#txtpeUniform”).val(data.price[0].price);“输入从上面的修改中在日志中显示的内容我在控制台logOkay中发布了输出,所以这是一个价格数组,你能试试这个并给我输出吗。”var priceData=$.parseJSON(数据);console.log(priceData);'它在控制台日志中显示此{“price”:[{“price”:“500”}}尝试此“$(“#txtpeUniform”).val(data.price[0].price);”