Почему пустые строки в моей базе данных не возвращаются с returnFormat = JSON - PullRequest
0 голосов
/ 01 июля 2010
{
MESSAGE = LoginWelcomeBackMessage;
SUCCESS = 1;
USER =     {
    AcceptAllFriendRequests = 0;
    CreateDate = "June, 07 2010 00:00:00";
    DayOfBirth = "April, 24 1974 00:00:00";
    UserName = "Erik Madsen";
};
}

Мой CFC определяет все столбцы в моей таблице базы данных, но когда столбец равен NULL, поле не возвращается как свойство в JSON?В приведенном выше примере должно быть PersonalInfo = "";Есть ли способ заставить его вернуть пустую строку?

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Простое исключение свойства, вероятно, ближе к null, чем пустая строка в большинстве случаев.если вы хотите пустую строку, вы должны вернуть пустую строку.как обрабатывается нулевое значение, зависит от вашего сериализатора.

В javascript официальная реализация справляется с этим довольно хорошо:

var a = { b: null };
console.log( JSON.stringify(a) ); // logs '{"b":null}'
1 голос
/ 01 июля 2010

Пустая строка в столбце базы данных не совпадает с NULL в столбце.

Посмотрите эту статью: http://www.bennadel.com/blog/1654-Learning-ColdFusion-9-IsNull-And-Working-With-NULL-Values.htm

Как правило, вы можете захотеть обернутьони в базе данных (в представлении или в вычисляемом столбце) с ISNULL (col, '') или COALESCE (col, '') или обрабатывают их после извлечения из базы данных, как обсуждается в статье.Или даже не допускайте пустых значений в базе данных, вместо этого требуйте пустые строки.

...