using System.Xml; using System.Data.sqlClient; using System.Collections; class pz_xmljson { public XmlDocument xmlLoad(sqlDataReader sdr,string[] nodeName) { XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0","GB2312",null); xmlDoc.AppendChild(xmlDec); XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects"); xmlDoc.AppendChild(xmlNode); if (sdr.FieldCount == nodeName.Length) { while (sdr.Read()) { XmlElement node = xmlDoc.CreateElement("XmlObject"); xmlNode.AppendChild(node); for (int i = 0; i < nodeName.Length; i++) { XmlElement element = xmlDoc.CreateElement(nodeName[i]); element.InnerText = sdr[i].ToString(); node.AppendChild(element); } } sdr.Close(); } return xmlDoc; } public XmlDocument xmlLoad(sqlDataReader sdr) { XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null); xmlDoc.AppendChild(xmlDec); XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects"); xmlDoc.AppendChild(xmlNode); while (sdr.Read()) { XmlElement node = xmlDoc.CreateElement("XmlObject"); xmlNode.AppendChild(node); for (int i = 0; i < sdr.FieldCount; i++) { XmlElement element = xmlDoc.CreateElement(sdr.GetName(i)); element.InnerText = sdr[i].ToString(); node.AppendChild(element); } } sdr.Close(); return xmlDoc; } public XmlDocument xmlReturnValue(bool isSuccess) { XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null); xmlDoc.AppendChild(xmlDec); XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects"); xmlDoc.AppendChild(xmlNode); XmlElement node = xmlDoc.CreateElement("ReturnValue"); if (isSuccess) node.InnerText = "true"; else node.InnerText = "false"; xmlNode.AppendChild(node); return xmlDoc; } public XmlDocument xmlReturnValue(bool isSuccess,string nodeName) { XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null); xmlDoc.AppendChild(xmlDec); XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects"); xmlDoc.AppendChild(xmlNode); XmlElement node = xmlDoc.CreateElement(nodeName); if (isSuccess) node.InnerText = "true"; else node.InnerText = "false"; xmlNode.AppendChild(node); return xmlDoc; } public string jsonLoad(sqlDataReader sdr,string[] nodeName) { string returnValue = string.Empty; if (sdr.FieldCount == nodeName.Length) { returnValue = "["; while (sdr.Read()) { returnValue += "{"; for (int i = 0; i < nodeName.Length; i++) { returnValue += "\"" + nodeName[i] + "\":"; returnValue += "\"" + sdr[i].ToString() + "\","; } returnValue = returnValue.Substring(0,returnValue.Length - 1) + "},"; } returnValue = returnValue.Substring(0,returnValue.Length - 1) + "]"; sdr.Close(); } return returnValue; } public string jsonLoad(sqlDataReader sdr) { string returnValue = string.Empty; returnValue = "["; while (sdr.Read()) { returnValue += "{"; for (int i = 0; i < sdr.FieldCount; i++) { returnValue += "\"" + sdr.GetName(i) + "\":"; returnValue += "\"" + sdr[i].ToString() + "\","; } returnValue = returnValue.Substring(0,returnValue.Length - 1) + "]"; sdr.Close(); return returnValue; } public string jsonReturnValue(bool isSuccess) { string returnValue = string.Empty; returnValue = "[{\"ReturnValue\":"; if (isSuccess) returnValue += "\"true\""; else returnValue += "\"false\""; returnValue += "}]"; return returnValue; } public string jsonReturnValue(bool isSuccess,string nodeName) { string returnValue = string.Empty; returnValue = "[{\"" + nodeName + "\":"; if (isSuccess) returnValue += "\"true\""; else returnValue += "\"false\""; returnValue += "}]"; return returnValue; } public string toJson(string key,string value) { string returnValue = string.Empty; returnValue = "[{\"" + key + "\":"; returnValue += "\"" + value + "\""; returnValue += "}]"; return returnValue; } public XmlDocument toXml(string key,string value) { XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null); xmlDoc.AppendChild(xmlDec); XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects"); xmlDoc.AppendChild(xmlNode); XmlElement node = xmlDoc.CreateElement(key); node.InnerText = value; xmlNode.AppendChild(node); return xmlDoc; } }
WebService直接这么输出
-----------------------------------------------------------------------
json: pz_xmljson xj = new pz_xmljson(); Context.Response.Write(xj.toJson("value",tmp)); //xj.jsonLoad(sqlDataReader sdr) Context.Response.End();
jquery ajax这么拿值
-----------------------------------------------------------------------
$.ajax({ url: "WebService.asmx/******",type: "POST",data: { receiverid: 。。。。,key: 。。。。 },dataType: "json",success: function(result) { result[0].value 。。。。。 } 多个值的话用 $.each(result,function(i,n) { n.Name。。。。 n.ID。。。。。 n.***。。。。。 }