我找不到任何地方。我正在使用牛顿JSON控件并尝试遍历我的记录并将每个记录写入一个JSON文件中。以下是我的尝试,但无法做到正确。我得到令牌路径错误和所有种类。我不知道在哪里开始和结束写JSON。
谢谢! 沃伦
Dim sb As New StringBuilder()
Dim sw As New StringWriter(sb)
Using writer As JsonWriter = New JsonTextWriter(sw)
writer.Formatting = Formatting.Indented
writer.WriteStartObject()
Dim ConnString7 As String = "removed"
Dim SQLConn As New SqlConnection()
Dim SQLCmd As New SqlCommand()
SQLCmd.Connection = SQLConn
SQLConn.ConnectionString = ConnString7
SQLCmd.CommandType = CommandType.StoredProcedure
SQLCmd.CommandText = "Sproc_Here"
SQLConn.Open()
Dim reader As SqlDataReader
reader = SQLCmd.ExecuteReader()
While reader.Read()
MsgBox("Start")
writer.WritePropertyName("CardDate")
writer.WriteValue(reader("CardDate").ToString())
writer.WritePropertyName("EditDate")
writer.WriteValue(reader("EditDate").ToString())
writer.WritePropertyName("Activity")
writer.WriteValue(reader("Activity").ToString())
writer.WritePropertyName("Location")
writer.WriteValue(reader("Location").ToString())
MsgBox("End")
End While
reader.Close()
SQLConn.Close()
writer.WriteEnd()
writer.WriteEndObject()
MsgBox(sb.ToString)
Response.Clear()
Response.ContentType = "application/json; charset=utf-8"
Response.Write(sb.ToString)
Response.End()
答案 0 :(得分:0)
每条记录都将成为一个JSON对象,并且您希望拥有多个记录,因此需要将它们包含在JSON数组中。所以像这样:
Dim sb As New StringBuilder()
Dim sw As New StringWriter(sb)
Using writer As JsonWriter = New JsonTextWriter(sw)
writer.Formatting = Formatting.Indented
' ... code to set up SQLCmd omitted for brevity ...
Dim reader As SqlDataReader = SQLCmd.ExecuteReader()
writer.WriteStartArray()
While reader.Read()
writer.WriteStartObject()
writer.WritePropertyName("CardDate")
writer.WriteValue(reader("CardDate").ToString())
writer.WritePropertyName("EditDate")
writer.WriteValue(reader("EditDate").ToString())
writer.WritePropertyName("Activity")
writer.WriteValue(reader("Activity").ToString())
writer.WritePropertyName("Location")
writer.WriteValue(reader("Location").ToString())
writer.WriteEndObject()
End While
writer.WriteEndArray()
' ... code to close connection and write response omitted ...
End Using