在ashx中如何读取返回的json值
比如返回的json是[{"uid":35301,"uname":"%u9EC4%u8363"},{"uid":437,"uname":"%u6211%u884C%u5BA...
比如返回的json是
[{"uid":35301,"uname":"%u9EC4%u8363"},
{"uid":437,"uname":"%u6211%u884C%u5BA2%u670D"}]
我怎么样读取到uid 展开
[{"uid":35301,"uname":"%u9EC4%u8363"},
{"uid":437,"uname":"%u6211%u884C%u5BA2%u670D"}]
我怎么样读取到uid 展开
6个回答
展开全部
一个ajax 里面 json的简单例子(前台使用jquery)
aspx:
$.ajax({
type: "post",
url: "Handler.ashx",
dataType: "html",
data: { uid: "437", uname: "%u6211%u884C%u5BA2%u670D" },
success: function (msg) {
alert(msg);
},
error:function (){alert('出错了!')}
})
ashx:
public void ProcessRequest (HttpContext context)
{
string a = context.Request["uid"].ToString();
context.Response.Write(a);
}
aspx:
$.ajax({
type: "post",
url: "Handler.ashx",
dataType: "html",
data: { uid: "437", uname: "%u6211%u884C%u5BA2%u670D" },
success: function (msg) {
alert(msg);
},
error:function (){alert('出错了!')}
})
ashx:
public void ProcessRequest (HttpContext context)
{
string a = context.Request["uid"].ToString();
context.Response.Write(a);
}
追问
我已经在ashx文件里面获取到了json数据了,但是就是不知道怎么取出其中的一个值。
得到是:
[{"uid":35301,"uname":"%u9EC4%u8363"},
{"uid":437,"uname":"%u6211%u884C%u5BA2%u670D"}]
我最终的目的是:需要json里面的一个值,查询一下数据库做where的条件,再利用查询出来的数据,进行数据绑定。
追答
如果你的json是以字符串参数的形式传到ashx,你可以在ashx接收参数并反序列化为一个自定义的对象
//反序列化
public static T FromJsonTo(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
T jsonObject = (T)ser.ReadObject(ms);
return jsonObject;
}
}
如果不是这样当前台传输类似这样(你的json前面差一个属性名,我加了个people):
people:[{"uid":35301,"uname":"%u9EC4%u8363"},
{"uid":437,"uname":"%u6211%u884C%u5BA2%u670D"}]
则在ashx里需要这么取:
string a = context.Request.Form["people[0][uid]"].ToString();
context.Response.Write(a);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询