создать строку JSON из SqlDataReader

ОБНОВЛЕНИЕ

Я понял. Посмотрите мой ответ ниже .


Я пытаюсь создать строку 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-ответ?

Сообщите мне, если мне нужно что-то уточнить.

11
задан Community 23 May 2017 в 12:17
поделиться