首页 新闻 会员 周边

json格式化

0
悬赏园豆:5 [已解决问题] 解决于 2012-11-15 12:17

$(document).ready(function () {
$("#txtXJRQ").bind("change", function () {
$.get("/Api/2ywbl/lrqj.ashx?action=calculate&xjrq=" + $("#txtXJRQ").val() + "&ksrq=" + $("#ksrq").val(), "", function (data) {
//var ad= eval(result);
alert(data);

//$("#txtYTHSF").val(data[2]);
//$("#txtSJQJTS").val(data[1]);
}, "json");
});
});

switch (action)
{
case "calculate":
CalculateRq(context);
break;
}

public void CalculateRq(HttpContext context)
{
DateTime xjrq = Convert.ToDateTime(context.Request.QueryString["xjrq"]);
DateTime ksrq = Convert.ToDateTime(context.Request.QueryString["ksrq"]);
string ts = Convert.ToString(Math.Abs((xjrq - ksrq).Days));
string fy = Convert.ToString(Math.Abs((xjrq - ksrq).Days)*10);

ArrayList dic = new ArrayList();
Dictionary<string, object> drow = new Dictionary<string, object>();

drow.Add("sjts", ts);
drow.Add("ythsf", fy);
dic.Add(drow);

var result = new
{
aaData = dic
};
JavaScriptSerializer serializer = new JavaScriptSerializer();

// 通过JavaScriptSerializer对象的Serialize序列化为["value1","value2",...]的字符串
string jsonString = serializer.Serialize(result);

context.Response.Write(jsonString);
}

谁给看看是哪出问题了,alert(data)出来是object object ,

alert(aaData)出来是aaData为定义

 {"aaData":[{"sjts":"1","ythsf":"10"}]}   这调试得到的jsonstring。 坐等
Lie to me的主页 Lie to me | 初学一级 | 园豆:132
提问于:2012-11-15 01:07
< >
分享
最佳答案
0

 没有问题,因为你用$.get 获取格式类型为json,他就是一个object,  你 把json改为html 就可以出来序列化后的字符串了,如 {"aaData":[{"sjts":"1","ythsf":"10"}]}

收获园豆:5
世界万物 | 菜鸟二级 |园豆:276 | 2012-11-15 09:13

@随静而动   修改成html后还是没反应,现在ie下弹出aadata未定义,其他就没啥动静了,求解。

Lie to me | 园豆:132 (初学一级) | 2012-11-15 09:27

@Lie to me:  我吧你的代码拷贝了一份, 试了以下 ok 啊,json格式就弹出object, 这是你可以直接调用alert(data.aaData) ,正确应该弹出obect;

如果是html格式 ,你使用data.aaData 肯定弹出undefined, alert(eval('('+data+')').aaData) 就可以了,就是data.aaData 你要使用这样的额调用 就必须是 json object.

世界万物 | 园豆:276 (菜鸟二级) | 2012-11-16 09:56
其他回答(2)
0

context.Response.Write(jsonString);

context.Response.End();

用chrome开发者工具,看一下,究竟返回的是什么

chenping2008 | 园豆:9836 (大侠五级) | 2012-11-15 09:18

你们说的我都试了,改成html,然后弹出提示aadata未定义就没啥动静了,这又是为什么??

支持(0) 反对(0) Lie to me | 园豆:132 (初学一级) | 2012-11-15 09:23

jsonstring前面已经说了{"aaData":[{"sjts":"1","ythsf":"10"}]},我在google的审查元素也没找到value值。

支持(0) 反对(0) Lie to me | 园豆:132 (初学一级) | 2012-11-15 09:37
0

json格式化http://www.sojson.com真心不错

成成雨飞 | 园豆:202 (菜鸟二级) | 2013-12-31 14:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册