json嵌套怎么写( 二 )


request.ContentLength也是必须设置的值 在得到响应流之后Stream s = response.GetResponseStream();需要使用Reader来解析响应流,这个地方我使用的是XmlTextReader,因为我服务方法返回的是xml格式的字符串,其中Json数据在xml的Content中 。在取出Json数据之后,再进行相应的反序列化即可得到对象 。
3. C#怎么取带嵌套的格式一致的JSON? Web Service接口方法 [WebMethod]public string Project(string paramaters){return paramaters;}实现代码public string Post(string methodName, string jsonParas){string strURL = Url + "/" + methodName;//创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);//Post请求方式 request.Method = "POST";//内容类型request.ContentType = "application/x-www-form-urlencoded";//设置参数,并进行URL编码 //虽然我们需要传递给服务器端的实际参数是JsonParas(格式:[{\"UserID\":\"0206001\",\"UserName\":\"ceshi\"}]),//但是需要将该字符串参数构造成键值对的形式(注:"paramaters=[{\"UserID\":\"0206001\",\"UserName\":\"ceshi\"}]"),//其中键paramaters为WebService接口函数的参数名,值为经过序列化的Json数据字符串//最后将字符串参数进行Url编码string paraUrlCoded = System.Web.HttpUtility.UrlEncode("paramaters");paraUrlCoded += "=" + System.Web.HttpUtility.UrlEncode(jsonParas);byte[] payload;//将Json字符串转化为字节 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);//设置请求的ContentLength request.ContentLength = payload.Length;//发送请求,获得请求流 Stream writer;try{writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象}catch (Exception){writer = null;Console.Write("连接服务器失败!");}//将请求参数写入流writer.Write(payload, 0, payload.Length);writer.Close();//关闭请求流String strValuehttp://www.xuexi88.com/zhishi/= "";//strValue为http响应所返回的字符流HttpWebResponse response;try{//获得响应流response = (HttpWebResponse)request.GetResponse();}catch (WebException ex){response = ex.Response as HttpWebResponse;}Stream s = response.GetResponseStream();//服务器端返回的是一个XML格式的字符串,XML的Content才是我们所需要的Json数据XmlTextReader Reader = new XmlTextReader(s);Reader.MoveToContent();strValue = http://www.xuexi88.com/zhishi/Reader.ReadInnerXml();//取出Content中的Json数据Reader.Close();s.Close();return strValue;//返回Json数据}Url的格式样例:"http://59.68.29.106:8087/IFT_Project.asmx" methodName参数就是"Project" JsonParas就是使用C# JavaScriptSerializer将List类型的对象序列化之后得到的值,数据格式:[{\"UserID\":\"0206001\",\"UserName\":\"ceshi\"}],Json数据中的中括号代表由着多个对象集合序列化,花括号代表一个对象序列化得到的结果,花括号里面的内容使用键值对的方式展示,多个属性之间用逗号隔开,每个对象也用逗号隔开 。
request.ContentType必须设置值,建议使用"application/x-www-form-urlencoded",设置其他值就很容易报服务器内部异常,使用这种方式服务接口方法返回的是xml格式的字符串 payload将请求参数转换成二进制来保存,此处一定要将“paramaters”加入其中,不然会报异常缺少参数,paramaters就是服务接口函数的参数名 。函数中使用了URL编码,注意在编码的时候只需要将键和值进行编码,不要将中间的=进行编码,不然getResponse的时候会报异常 。
request.ContentLength也是必须设置的值 在得到响应流之后Stream s = response.GetResponseStream();需要使用Reader来解析响应流,这个地方我使用的是XmlTextReader,因为我服务方法返回的是xml格式的字符串,其中Json数据在xml的Content中 。在取出Json数据之后,再进行相应的反序列化即可得到对象 。
4. JSON语言怎么写 JSON它不是一门语言,它只是一种数据格式 。