C# json传送数据到本地端口,出现的问题是:未将对象引用设置到对象的实例。请大神帮忙!

if (isok > 0)
{
string Inform= this.getJson();
System.Web.HttpContext.Current.Response.Redirect("call?q={\"cmd\":\"" + "SFZinfoCmd\",\"" + "args\":\"" + Inform.ToString() + "\"}");
}

其中json获取数据写法: sb.Append("{\"xm\":\"" + dt.Rows[i]["Name"].ToString() + "\",\"xb\":\"" + dt.Rows[i]["Gender"] + "\",\"sfzh\":\"" + dt.Rows[i]["Code"] + "\"}");
在调试时,总是出现未将对象引用设置到对象的实例,请求大神帮帮忙,指点指点,在此感激不尽!

这个提示其实很明显,就说明你的dt.rows[i]你上面用到的数据有空值,在这一行上多加几行,比如

object a1=dt.Rows[i];
object a2=dt.Rows[i]["Name"];
object a3=dt.Rows[i]["Gender"];
object a4=dt.Rows[i]["Code"];

运行时出错中断时,鼠标移到a1、a2之类的上面看看哪个值是空的就知道了。

追问

我检查过的,这里面都有值的!但是不知道为什么还是出现这个问题!方便加QQ吗?540228605,这是我的QQ

追答

Inform查过没有,只剩下这个了

追问

Inform信息查过的,里面都是有信息的!System.Web.HttpContext.Current.Response.Redirect("call?q={\"cmd\":\"" + "SFZinfoCmd\",\"" + "args\":\"" + Inform.ToString() + "\"}");这句话这样写,对吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-15
由于你的代码不完整,只能猜测。
假设sb是对象StringBuilder类型,首先它使用前要实例化
StringBuilder sb = new StringBuilder();
另外,你要检查dt是否获取到了数据,加上判断。
if(dt!=null&&dt.Rows.Count>0)
{
sb.Append("你的代码");
}
另外,建议你可以使用NewtonSoftJson,Json的序列化和反序列化都比较方便。追问

有的!这里粘贴代码说超限! System.Text.StringBuilder sb = new StringBuilder();
能加QQ:540228605吗?

第2个回答  2015-08-16
关键信息太少追答

嘻嘻,大神你被调戏了.这是渣度的机器人.在贴吧发帖的根本就不是活人.