我找到了解决方案。我不知道这是否是最好的方法,但效果很好。
根据@Tushar Gupta 的建议,我使用位于http://www.newtonsoft.com/ 的第三方Json Library 创建了一个Json Array
我遍历数据库中的数据并将它们连接起来,如下所示:
代码
Dim sms As New Sms 'note that this is a class
Dim sms_obj As String = ""
Try
conn.Open()
Dim cmd As OleDbCommand = New OleDbCommand("id, phone, msg FROM sms;", conn)
Dim reader As OleDbDataReader = cmd.ExecuteReader
'collate sms
Dim i As Integer = 0
While reader.Read()
sms.id = reader("id").ToString()
sms.member_phone = reader("phone").ToString()
sms.member_message = reader("msg").ToString()
If sms_obj = "" Then
sms_obj = sms_obj + JsonConvert.SerializeObject(sms, Formatting.Indented)
Else
sms_obj = sms_obj + "," + JsonConvert.SerializeObject(sms, Formatting.Indented)
End If
End While
sms_obj = "{ ""sms""" + ":" + "[" + sms_obj + "]}" ' this put the json string in an array
'close the connection
conn.Close()
If sms.ToString <> "" Then
HelperModule.SendSms(sms_obj)
End If
lblSmsState.Text = "sending sms done!"
Catch ex As Exception
msgbox(ex.toString())
conn.Close()
End Try
输出
{ "sms":[
{
"id": "1",
"member_phone": "09023023",
"member_message": "hi"
},{
"id": "2",
"member_phone": "09023024",
"member_message": "hey"
},{
"id": "3",
"member-phone": "09023025",
"member_message": "dear"
}
]
}