如何解析JSON对象?(从服务器端到客户端..javascript)
How to parse a JSON object ? (From server-side to client-side...javascript)
我有一个jquery与服务器端Web方法交互。Web方法接受来自jquery的字符串"memID",并基于它执行SQL查询。然后我创建一个类:-
public class Member
{
// Objects of Member. //
public string id { get; set; }
public string HPCode { get; set; }
public string OPfromDate { get; set; }
public string OPthruDate { get; set; }
public Member(string ID, List<string> hpCode, List<string> opfromDate, List<string> opthruDate)
{
id = ID;
for (int j = 0; j < hpCode.Count; j++){ HPCode = HPCode + (hpCode)[j] + '*' };
for (int j = 0; j < opfromDate.Count; j++){OPfromDate = OPfromDate + (opfromDate)[j] + '*' };
for (int j = 0; j < opthruDate.Count; j++){OPthruDate = OPthruDate+ (opthruDate)[j] + '*' };
}
}
这个类用于将SQL查询的结果返回到客户端:-
return JsonConvert.SerializeObject(member);
我使用了断点并在客户端进行了检查,实际上它正在获取返回值。然而,我不确定解析这些值并将它们存储在javascript端的变量中的最佳方式是什么,这样我就可以将它们用于客户端功能。
// Ajax function that sends member ID from client side to server side without a post back.
function ajax()
{
$.ajax
({
url: 'Default.aspx/MyMethod',
type: 'POST',
dataType: "json",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ memID: mem_ID }),
success: onSuccess,
fail : onFail
});
}
// If client-to-server communication is successful.
function onSuccess(data)
{
confirm(data.d);
var returnedstring = (data.d);
var jsondata = $.parseJSON(data.d);
}
现在我该如何解析"数据"??有eval函数吗?还是解析函数?
有人有网络示例吗?在此之前,我只向客户端传递1个值,所以很容易获得,现在我对多个值感到困惑。
更新:-
我试着在我的javascript端这样做:-
var returnedstring = (data.d);
var member = data.d.id;
var Hp = data.d.HPCode;
然而,当我使用断点并用鼠标悬停在它们上面时,我会得到未定义的成员和HP,但是返回的字符串具有所有正确的值。。。知道吗?
解决方案(我不知道答案中建议的其他方法,但这对我有效):-
function onSuccess(data)
{
// stores entire return in one string.
var returnedstring = (data.d);
// parses json returned data
var jsondata = $.parseJSON(data.d);
var member = jsondata.id;
var HpCode = jsondata.HPCode;
}
因为您使用的是dataType: "json"
,所以data
已经从JSON字符串中解析出来。这就是为什么您能够在Javascript中访问data.d
。
要访问成员,您可以执行以下操作:
console.log(data.d.HPCode);
相关文章:
- 套接字服务器向客户端广播,但不从两者接收
- ServiceStack JavaScript服务器事件客户端的身份验证
- 如何从服务器向客户端调用函数?(远程功能调用)
- 将数据发布到nodejs服务器到客户端
- 服务器触发客户端事件两次
- 正在服务器或客户端上生成数据
- 从服务器到客户端的响应状态
- 调用SignalR中的服务器和客户端方法
- 在不同子域上使用Socket.IO服务器和客户端
- Meteor集合在服务器和客户端上有所不同
- 使用IE、Jsonp和OpenID,我如何让数据发送服务器将客户端视为已验证
- 从流星服务器到客户端获取单个值
- 在Visual Basic中加密AES,然后在服务器到客户端中解密AES
- 为初学者实现基本REST/SOAP服务器和客户端的最快速方法
- node.js服务器和客户端的代码进行连接
- MQTT 服务器到客户端的通信
- SignalR 不从服务器调用客户端方法
- 计算具有不同时区的服务器和客户端之间的时差
- 没有node.js服务器的客户端socket.io
- radgrid -get 服务器在客户端编辑的行