Я понял. Посмотрите мой ответ ниже .
Я пытаюсь создать строку JSON, представляющую строку из таблицы базы данных, для возврата в ответе HTTP. Похоже, что Json.NET будет хорошим инструментом для использования. Однако я не уверен, как построить строку JSON , а I ' m чтение из базы данных.
Проблема отмечена неприятными комментариями / ******** ******** /
// 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-ответ?
Сообщите мне, если мне нужно что-то уточнить.