读书人

asp.net接收php json传回的值

发布时间: 2013-08-09 15:16:24 作者: rapoo

asp.net接收php json传来的值
如题,现在想用asp.net实现接收php json过来的值,
这是PHP JSON后的值


{\"title\":\"3333\",\"summary\":\"333\",\"group_id\":\"27\",\"partner_id\":\"1\",\"system\":\"Y\",\"team_price\":\"1.00\",\"market_price\":\"1.00\",\"product\":\"333\",\"condbuy\":\"\",\"per_number\":\"0\",\"permin_number\":\"1\",\"mobile\":null,\"card\":\"0\",\"bonus\":\"0\",\"address\":null,\"detail\":\"333\",\"notice\":\"333\",\"express\":\"\",\"express_relate\":\"N;\",\"delivery\":\"coupon\",\"state\":\"none\",\"conduser\":\"N\",\"buyonce\":\"N\",\"team_type\":\"normal\",\"sort_order\":\"0\",\"expire_time\":\"1383062400\",\"begin_time\":\"1375113600\",\"end_time\":\"1375200000\",\"reach_time\":\"0\",\"close_time\":\"0\",\"priceremark\":\"2222222\",\"pricesummary\":\"222222222222222222\",\"keywords\":\"22222222\",\"referprice\":\"0.00\",\"sellerprice\":\"0.00\",\"phones\":\"22\",\"checked\":\"N\",\"gold_price\":\"0.00\",\"silver_price\":\"0.00\",\"smsmoban\":\"[\\u4ea7\\u54c1]\\u4e0b\\u5355\\u6210\\u529f\\uff0c\\u7535\\u5b50\\u7f16\\u7801\\uff1a[\\u7f16\\u53f7],\\u53ef\\u6d88\\u8d39[\\u5f20\\u6570]\\u6b21\\uff0c\\u6709\\u6548\\u671f\\uff1a[\\u6709\\u6548\\u671f]\\u3002\\u3010\\u8fd0\\u901a\\u56fd\\u65c5\\u3011\",\"s_id\":\"\",\"allowname\":\"N\",\"validate_time\":\"0\",\"allowtomorrow\":\"N\",\"close\":\"Y\",\"tuan_type\":null,\"traffic_type\":null,\"line_type\":null,\"preday\":\"0\",\"bj_type\":\"0\",\"carpark\":null,\"hoteltype\":null,\"fangtype\":null,\"bedtype\":null,\"partner_level\":\"1\",\"theme_type\":\"1\",\"pepole_type\":\"1\",\"price_type\":\"1\",\"ticket_type\":\"1\",\"partneraddress\":\"22222\",\"trafficguide\":\"3333\",\"deliverydetail\":\"3333\",\"partnertianqi\":\"44\",\"mpnumber\":\"mp122345\",\"create_time\":1375066352,\"author\":\"admin\",\"dayprice\":[{\"id\":\"7\",\"cdate\":\"1374854400\",\"team_id\":\"6\",\"amarket_price\":\"23.00\",\"ayouhui_price\":\"23.00\",\"ahuiyuan_price\":\"23.00\",\"cmarket_price\":\"23.00\",\"cyouhui_price\":\"23.00\",\"chuiyuan_price\":\"23.00\",\"allowdingjin\":\"Y\"}]}


这是我在asp.net里接收的代码,使用的是System.Web.Script.Serialization; 这个类库

string tmp = Request["data"].ToString();//接收POST数据
//实例化对象
JavaScriptSerializer serializer = new JavaScriptSerializer();
//JSON序列化
string result = serializer.Serialize(tmp);
//JSON反序列化
m = serializer.Deserialize<Menpiao>(tmp);

结果报错: 传入的对象无效,应为成员名称。 (1): ....(此处省略php json 的值)

我在本地手动测试通过get方法手动加上 (1):(php json的值), 倒是不报先前的错了,但是报错如下:

无效的 JSON 基元: 。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。



异常详细信息: System.ArgumentException: 无效的 JSON 基元: 。

源错误:

行 28: string result = serializer.Serialize(tmp);
行 29: //JSON反序列化
行 30: m = serializer.Deserialize<Menpiao>(tmp);


求大神指点迷津,不胜感激 asp.net JSON PHP
[解决办法]
一个个接收,或者用调用接收集合
Request["title"]
Request["summary"]
....
foreach(string key in Request.Form.AllKeys)
{
Request.Form[key]
}
[解决办法]
PHP JSON 序列化的不是一个实体类所以C#无法解成实体类。
只能当成数据项来提取
[解决办法]

引用:
Quote: 引用:

PHP JSON 序列化的不是一个实体类所以C#无法解成实体类。
只能当成数据项来提取


那你的意思是 ? 我要怎么做?


他不是有GetItem[""](名称是不是这个我不能确定,但决对有这方法的。你可以找找)这样的方法么,你只能用这个来取
[解决办法]
时间格式感觉有点问题:"expire_time\":\"1383062400\",要简单测试一下 可以序列化过来不
[解决办法]
引用:
时间格式感觉有点问题:"expire_time\":\"1383062400\",要简单测试一下 可以序列化过来不

这是标准传输时间的方法。取到值后+ 1970,1,1 就是真正的时间
[解决办法]
DateTime 改为 long


[解决办法]
没弄过,帮顶下
[解决办法]
asp.net接收php json传回的值
路过
[解决办法]
json和你的实体类不对应吧

读书人网 >asp.net

热点推荐