我有以下代码来返回单对象JSON数组,
Imports System.ServiceModel
Imports System.ServiceModel.Activation
Imports System.ServiceModel.Web
Imports System.IO
Imports System.Runtime.Serialization.Json
Imports System.Runtime.Serialization
<ServiceContract(Namespace:="")> _
<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _
Public Class MessageService
<OperationContract()> _
Public Function GetMessage(Id As Integer) As String
Dim m As New NewMessage()
m.Id = 1
m.Text = "Text test"
Dim stream As New MemoryStream()
Dim serializer As New DataContractJsonSerializer(GetType(NewMessage))
serializer.WriteObject(stream, m)
serializer.WriteObject(stream, m)
stream.Position = 0
Dim streamReader As New StreamReader(stream)
Return streamReader.ReadToEnd()
End Function
End Class
<DataContract()> _
Public Class NewMessage
<DataMember()> _
Public Id As Integer
<DataMember()> _
Public Text As String
End Class
返回的数据是:
{id:1,Text:"TText test"}
如何让它返回:
[{id:1,Text:"Text 1"},{id:2,Text:"Text 2"}]
答案 0 :(得分:0)
要么必须返回类NewMessage的数组,要么返回单个对象,而不是创建一个具有NewMessage数组属性的类并返回该类。
答案 1 :(得分:0)
让它返回
[{id:1,Text:"Text 1"},{id:2,Text:"Text 2"}]
您必须将NewMessage更改为List&lt; NewMessage&gt;代替。 DataContractJsonSerializer将处理剩下的工作。