C# 如何在C中显示JSON数据#
我是WCF的新手。我创建了一个WCF服务,并将数据作为JSON数据返回。我将返回数据分配给GridView,它完美地显示了数据C# 如何在C中显示JSON数据#,c#,json,wcf,C#,Json,Wcf,我是WCF的新手。我创建了一个WCF服务,并将数据作为JSON数据返回。我将返回数据分配给GridView,它完美地显示了数据 [OperationContract] [WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate="employee/
[OperationContract]
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate="employee/{search}")]
List<Employee> Listing(string search);
它是这样显示的
Employee[]
如何使用C#在div元素中显示JSON字符串
提前谢谢。我找到了解决方案
JavaScriptSerializer serializer = new JavaScriptSerializer();
StringBuilder sb = new StringBuilder();
serializer.Serialize(esc.Listing("s"), sb);
dvJson.InnerHtml = sb.ToString();
输出:
[{"ID":1,"Name":"Raja"},{"ID":2,"Name":"Manisha"},{"ID":4,"Name":"Sam"},{"ID":7,"Name":"Suresh"}]
使用DataContractJsonSerializer
(Pranav Singh代码更新[2-4行])
要避免类型信息,请从JSON数据中将JSON序列化程序设置EmitTypeInformation设置为“从不”
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializerSettings settings = new DataContractJsonSerializerSettings();
settings.EmitTypeInformation = System.Runtime.Serialization.EmitTypeInformation.Never;
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Employee>), settings);
ser.WriteObject(stream1, esc.Listing("s"));
stream1.Position = 0;
StreamReader sr = new StreamReader(stream1);
dvJson.InnerHtml = sr.ReadToEnd();
MemoryStream stream1=新的MemoryStream();
DataContractJsonSerializerSettings设置=新建DataContractJsonSerializerSettings();
settings.EmitTypeInformation=System.Runtime.Serialization.EmitTypeInformation.Never;
DataContractJsonSerializer ser=新的DataContractJsonSerializer(类型(列表),设置);
ser.WriteObject(stream1,esc.Listing(“s”));
1.位置=0;
StreamReader sr=新的StreamReader(stream1);
dvJson.InnerHtml=sr.ReadToEnd();
谢谢使用
DataContractJsonSerializer
类,请参阅
它优于JavaScriptSerializer
,因为它还可以安全地从JSON字符串反序列化对象,并且是WCF的一部分
用法:
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer (typeof (List<Employee>));
ser.WriteObject(stream1, esc.Listing("s"));
stream1.Position = 0;
StreamReader sr = new StreamReader(stream1);
dvJson.InnerHtml = sr.ReadToEnd();
它显示输出:[{uuuu-type:“Employee:#Org”,“ID”:1,“Name:#Raja”},{uuuu-type:“Employee:#Org”,“ID”:2,“Name:#Manisha”}]。我们可以不使用“u type”:“Employee:#Org”来获取数据吗?在您的web.config:而不是
元素中,为您的端点行为使用
,例如:
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer (typeof (List<Employee>));
ser.WriteObject(stream1, esc.Listing("s"));
stream1.Position = 0;
StreamReader sr = new StreamReader(stream1);
dvJson.InnerHtml = sr.ReadToEnd();
DataContractJsonSerializerSettings settings = new DataContractJsonSerializerSettings();
settings.EmitTypeInformation = System.Runtime.Serialization.EmitTypeInformation.Never;
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Employee>), settings);