我正在使用 Json.netJsonTextWriter
从 Web 服务创建 JSON 数据对象。我有:
Dim sb As New StringBuilder()
Dim sw As New StringWriter(sb)
Dim writer As JsonWriter = New JsonTextWriter(sw)
If ds.Tables(0).Rows.Count > 0 Then
writer.WriteStartObject()
writer.WritePropertyName("authors")
writer.WriteStartArray()
For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
writer.WriteStartObject()
writer.WritePropertyName("key")
writer.WriteValue(ds.Tables(0).Rows(i).Item("CoAuthorID"))
writer.WritePropertyName("text")
writer.WriteValue(ds.Tables(0).Rows(i).Item("CoAuthorName").ToString)
writer.WritePropertyName("program")
writer.WriteValue(ds.Tables(0).Rows(i).Item("program").ToString)
writer.WritePropertyName("number")
writer.WriteValue(ds.Tables(0).Rows(i).Item("n").ToString)
writer.WriteEndObject()
Next
writer.WriteEndArray()
writer.WriteEndObject()
End If
但现在我想添加第二个表,例如
writer.WriteStartObject()
writer.WritePropertyName("pubs")
writer.WriteStartArray()
For i As Integer = 0 To ds.Tables(1).Rows.Count - 1
writer.WriteStartObject()
writer.WritePropertyName("pmid")
writer.WriteValue(ds.Tables(1).Rows(i).Item("pmid"))
writer.WritePropertyName("text")
writer.WriteValue(ds.Tables(1).Rows(i).Item("Reference").ToString)
writer.WriteEndObject()
Next
writer.WriteEndArray()
writer.WriteEndObject()
我希望能够处理客户端的数据,例如JSONData.authors
和JSONData.pubs
。当我使用一个数据表时,一切都很好,但如果我结合了 teo,那么我就无法读取数据。两个 JSON 对象之间似乎缺少逗号。如果我手动添加它,它会窒息。我将“假设”我在两个数据表之间缺少一行代码,但我不确定那是什么。任何帮助表示赞赏。我认为这可能与它有关,WriteStartConstructor
但我真的不知道。