在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
展开
 我来答
jack87918
推荐于2016-09-18 · TA获得超过2048个赞
知道小有建树答主
回答量:1618
采纳率:100%
帮助的人:1432万
展开全部
一个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);
}
追问
我已经在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);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式