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-ответ?
Дайте мне знать, если мне нужно что-то прояснить.