请帮我解决这个json对象。我被困在这里,无法弄明白。
我得到一个json对象(但我不确定它是否正确)。我正在尝试4种方式来显示json的结果,但没有任何效果。请帮我找一下我做错了什么
这里是在webmethod c#
中创建的json对象return_str += "{'id':'" + p_id + "','firstname':'" + firstname + "','lastname':'" + lastname + "','prefix':'" + prefix + "','gender':'" + gender + "','mobilephone':'" + mobilephone + "','email':'" + email + "','diplomano':'" + diplomano + "'}";
这里是试图获取json并显示结果的jquery代码
$('#btn_second').click(function () {
//$('#txt_isim_4').val('test arif');
$.ajax({
type: "POST",
url: "Registration.aspx/get_selected_professional",
data: "{'id':'2'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert('1:' + data); // shows "[object Object]"
alert('2:' + data.id); // shows "undefined"
alert('3:' + data.d); // shows json string
var json = $.parseJSON(data);
alert('4:' + json.id); // doesnt show the alert box, I think It throws and error
}
});
如何显示名字? });
答案 0 :(得分:1)
当您使用网络服务时,您必须转到data.d
$('#btn_second').click(function () {
//$('#txt_isim_4').val('test arif');
$.ajax({
type: "POST",
url: "Registration.aspx/get_selected_professional",
data: "{'id':'2'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert(data.d.id);
}
});
正确的方法是这个
$('#btn_second').click(function () {
//$('#txt_isim_4').val('test arif');
$.ajax({
type: "POST",
url: "Registration.aspx/get_selected_professional",
data: "{'id':'2'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
data=$.parseJSON(data.d);
alert(data.id);
}
});
答案 1 :(得分:-1)
'
在JSON中无效,请使用"
代替+#/ p>
这应该有效:
return_str += "{\"id\":\"" + p_id + "\",\"firstname\":\"" + firstname + "\",\"lastname\":\"" + lastname + "\",\"prefix\":\"" + prefix + "\",\"gender\":\"" + gender + "\",\"mobilephone\":\"" + mobilephone + "\",\"email\":\"" + email + "\",\"diplomano\":\"" + diplomano + "\"}";
来自json.org:
值可以是双引号中的字符串,也可以是数字,或者是真或 false或null,或对象或数组。这些结构可以 嵌套。