在ashx中如何读取返回的json值

2025-02-23 23:10:05
推荐回答(5个)
回答1:

如果你的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);

回答2:

用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 entities = new JavaScriptSerializer().Deserialize>(json);

}
}
}

回答3:

Ext类怎样实现的?将res.responseText的内容alert出来看看格式是否正确。
再检查Ext.util.JSON.decode方法是否正确?
另外,团IDC网上有许多产品团购,便宜有口碑

回答4:

}); }); Ext类怎样实现的?将res.responseText的内容alert出来看看格式是否正确。再检查Ext.util.JSON.decode方法是否正确?

回答5:

Ext类怎样实现的?将res.responseText的内容alert出来看看格式是否正确。
再检查Ext.util.JSON.decode方法是否正确?