在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个回答
推荐于2018-04-06 · 知道合伙人数码行家
关注
展开全部
如果你的json是以字符串参数的形式传到ashx,你可以在ashx接收参数并反序列化为一个自定义的对象
//反序列化
public static T FromJsonTo<T>(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);
//反序列化
public static T FromJsonTo<T>(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);
展开全部
用JavaScriptSerializer进行反序列化即可。
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;
namespace TestWeb
{
//创建一个实体,哥属性对应于json中的各属性
public class Test
{
public int uid
{
get;
set;
}
public string uname
{
get;
set;
}
}
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string json = "[{'uid':35301,'uname':'%u9EC4%u8363'},{'uid':437,'uname':'%u6211%u884C%u5BA2%u670D'}]";
List<Test> entities = new JavaScriptSerializer().Deserialize<List<Test>>(json);
}
}
}
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;
namespace TestWeb
{
//创建一个实体,哥属性对应于json中的各属性
public class Test
{
public int uid
{
get;
set;
}
public string uname
{
get;
set;
}
}
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string json = "[{'uid':35301,'uname':'%u9EC4%u8363'},{'uid':437,'uname':'%u6211%u884C%u5BA2%u670D'}]";
List<Test> entities = new JavaScriptSerializer().Deserialize<List<Test>>(json);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-06
展开全部
Ext类怎样实现的?将res.responseText的内容alert出来看看格式是否正确。
再检查Ext.util.JSON.decode方法是否正确?
另外,团IDC网上有许多产品团购,便宜有口碑
再检查Ext.util.JSON.decode方法是否正确?
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
}); }); Ext类怎样实现的?将res.responseText的内容alert出来看看格式是否正确。再检查Ext.util.JSON.decode方法是否正确?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Ext类怎样实现的?将res.responseText的内容alert出来看看格式是否正确。
再检查Ext.util.JSON.decode方法是否正确?
再检查Ext.util.JSON.decode方法是否正确?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询