Значения JSON 1 или 0-int или boolean
относится ли JSON ко всем этим одинаково? Или они представляют собой смесь целых и булевых чисел?
var data =
{
"zero" : 0,
"one" : 1,
"false" : 0,
"true" : 1,
"0" : false,
"1" : true
}
4 ответа:
JSON-это формат для передачи данных.
У него нет понятия равенства.JSON Парсеры рассматривать булевы и числа как различные типы.
значения
true
иfalse
фактические значения типа boolean, остальные целые. См.http://json.org/ для большего.
Я предпочитаю использовать 0/1 вместо true/false, потому что 0/1 потребляют только 1 байт, а true / false потребляют 4/5 байт.
Как уже упоминалось, на уровне JSON 0 и false не совпадают; типы данных-это число и логическое значение. Но библиотеки обработки JSON могут выполнять преобразования; особенно на языках / платформах, которые не имеют собственного логического типа, например. В этом случае может использоваться другое представление (пустая строка или 0 для false).
кроме того, также возможно, что библиотеки обработки могут принудительно использовать типы: например, если ожидается логическое значение, некоторые числовые / строковые значения (или JSON' null ' token) может быть принят вместо этого. Это довольно часто, из-за различий в выборе типа данных на разных языках.