Pie*_*let 8 vb.net serialization json web-services
我使用VB.NET"WCF Rest Service Application"项目模板构建了一个非常简单的Web服务(这是一个不错的选择吗?).我工作得很好,除了有事实
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
...
</string>
Run Code Online (Sandbox Code Playgroud)
添加到我的答案.
我已将我的返回值声明为String:
<WebInvoke(UriTemplate:="member/login", Method:="POST",
responseformat:=WebMessageFormat.Json,
BodyStyle:=WebMessageBodyStyle.Bare)>
Public Function Create(data As IO.Stream) As String
Dim strData As String = New IO.StreamReader(data).ReadToEnd()
Dim UserAccessForm As LoginAccess = Me.getAnswer(strData)
Dim jsonAnswer As String
jsonAnswer = Newtonsoft.Json.JsonConvert.SerializeObject(UserAccessForm, Newtonsoft.Json.Formatting.None)
Return jsonAnswer
End Function
Run Code Online (Sandbox Code Playgroud)
所以不要回答这个:
{"logged":false,"userID":"0","message":"Empty body"}
Run Code Online (Sandbox Code Playgroud)
我明白了:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
{"logged":false,"userID":"0","message":"Empty body"}
</string>
Run Code Online (Sandbox Code Playgroud)
有什么方法可以避免我的字符串答案的这种不必要的序列化?
我刚刚遇到了这个问题,并通过将XmlSerializerFormat属性应用到服务契约来解决它。
这是 ac# 片段 - 希望对您有所帮助。
[ServiceContract(Namespace = "")]
[XmlSerializerFormat]
interface IHuggies
{
[OperationContract]
[WebInvoke(
Method = "POST",
UriTemplate = "/CheckIfConsumerExists")]
bool CheckIfConsumerExists(string parameters);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14371 次 |
| 最近记录: |