UPDATE
Я понял это. Посмотрите мой ответ ниже.
Я пытаюсь создать строку JSON, представляющую строку из таблицы базы данных, чтобы вернуться в ответе HTTP. Кажется, что Json.NET будет хорошим инструментом для использования. Тем не менее, я не уверен, как создать строку JSON , а, которую я читаю из базы данных.
Проблема отмечена отвратительными комментариями /******** ********/
// connect to DB
theSqlConnection.Open(); // open the connection
SqlDataReader reader = sqlCommand.ExecuteReader();
if (reader.HasRows) {
while(reader.Read()) {
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
using (JsonWriter jsonWriter = new JsonTextWriter(sw)) {
// read columns from the current row and build this JsonWriter
jsonWriter.WriteStartObject();
jsonWriter.WritePropertyName("FirstName");
// I need to read the value from the database
/******** I can't just say reader[i] to get the ith column. How would I loop here to get all columns? ********/
jsonWriter.WriteValue(... ? ...);
jsonWriter.WritePropertyName("LastName");
jsonWriter.WriteValue(... ? ...);
jsonWriter.WritePropertyName("Email");
jsonWriter.WriteValue(... ? ...);
// etc...
jsonWriter.WriteEndObject();
}
}
}
Проблема в том, что я не знаю, как читать каждый столбец из строки из SqlReader
, чтобы я мог вызвать WriteValue
и предоставить ему правильную информацию и прикрепить ее к правильному имени столбца. Итак, если строка выглядит так...
| FirstName | LastName | Email |
... как бы я создал JsonWriter
для каждой такой строки, чтобы он содержал все имена столбцов строки и соответствующие значения в каждом столбце, а затем использовал этот JsonWriter
для создания строки JSON, которая готова для возврата через HTTP-ответ?
Сообщите мне, нужно ли мне что-то разъяснить.