Mam funkcję, która sprawdza, czy żądanie ma żadnych kwerend, i wykonuje różne działania na podstawie tego. Obecnie mam if(query)
zrobić coś innego. Wydaje się jednak, że gdy nie ma danych zapytań, otrzymuję obiekt JSON {}
. Jako takie, muszę zastąpić if(query)
z if(query.isEmpty())
lub coś w tym rodzaju. Czy ktoś może wyjaśnić, jak mogę to zrobić w NodeJS? Czy obiekt JSON V8 ma jakąkolwiek funkcjonalność tego rodzaju?Jak mogę sprawdzić, czy JSON jest pusty w NodeJS?
Odpowiedz
Można użyć jednej z tych funkcji:
// This should work in node.js and other ES5 compliant implementations.
function isEmptyObject(obj) {
return !Object.keys(obj).length;
}
// This should work both there and elsewhere.
function isEmptyObject(obj) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
return false;
}
}
return true;
}
Przykład użycia:
if (isEmptyObject(query)) {
// There are no queries.
} else {
// There is at least one query,
// or at least the query object is not empty.
}
ładny ... drugi dobrze działa w węźle ... nie wypróbował pierwszego chociaż – Nav
Można to wykorzystać:
var isEmpty = function(obj) {
return Object.keys(obj).length === 0;
}
lub to:
function isEmpty(obj) {
return !Object.keys(obj).length > 0;
}
Można również użyć tego:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
przypadku korzystania underscore lub jQuery, można użyć ich isEmpty
lub isEmptyObject
połączeń.
późno w grze, ale używam innego sposobu, który bardziej lubię, nawet jeśli nie jest to "właściwe" rozwiązanie.
JSON.stringify(obj) === '{}'
wiem, że to podejście może dostać złych opinii, bo jestem przy założeniu, że reprezentacja ciąg pustego obiektu jest {}
(a co, jeśli to było { }
) - ale uważam, że łatwiej w ten sposób bez funkcji i wydaje działa dobrze dla mnie.
Istnieje wiele powodów, dla których nie jest to świetne rozwiązanie, w tym wydajność i różnorodność sposobów, w jakie obiekty mogą być usztywniane , na przykład, stringify "Błąd" z właściwościami. –
@DaveNewton,, Zgadzam się, że to nie jest świetne rozwiązanie. Oświadczam, że w mojej odpowiedzi. Nie zgadzam się z przykładem błędu, ponieważ 'Object.keys (obj) .length === 0' również zwróci pustą, więc w tym scenariuszu to rozwiązanie jest nadal poprawne. –
- 1. Jak sprawdzić, czy obiekt JSON jest pusty w PHP?
- 2. Jak sprawdzić, czy obiekt JSON jest pusty w Javie?
- 3. Jak sprawdzić, czy dynamiczny jest pusty.
- 4. W iOS, jak sprawdzić, czy adres URL jest pusty
- 5. Jak sprawdzić, czy ContentPlaceHolder jest pusty?
- 6. Jak sprawdzić, czy plik jest pusty?
- 7. Jak sprawdzić, czy JTable jest pusty?
- 8. Jak sprawdzić, czy bufor jest pusty?
- 9. Jak sprawdzić, czy JSONArray jest pusty w java?
- 10. Jak sprawdzić, czy plik wejściowy jest pusty w JQuery
- 11. Jak mogę sprawdzić zmienną C# jest pusty ciąg "" lub null?
- 12. Jak sprawdzić, czy zakres Excela jest pusty w C#
- 13. Jak sprawdzić, czy katalog jest pusty w ANT?
- 14. Jak sprawdzić, czy ciąg znaków jest pusty w eliksiru
- 15. Jak sprawdzić, czy wpis mysql jest pusty w PhP?
- 16. Jak sprawdzić, czy ciąg znaków jest pusty w Emacs Lisp?
- 17. jak sprawdzić, czy hash jest pusty w perlu
- 18. Magento Jak sprawdzić, czy koszyk jest pusty, czy nie?
- 19. Jak sprawdzić, czy łańcuch nie jest pusty i nie jest pusty w serwerze SQL?
- 20. Jak sprawdzić, czy JSONObject jest pusty lub nie istnieje
- 21. Jak sprawdzić, czy ciąg znaków nie jest pusty?
- 22. Python, jak sprawdzić, czy zestaw wyników jest pusty?
- 23. Jak mogę sprawdzić, czy sekwencja jest pusta w F #?
- 24. Czy powinienem sprawdzić, czy obiekt jest pusty pierwszy czy drugi?
- 25. Jak sprawdzić, czy odpowiedź pobierania jest obiektem json w javascript
- 26. Jak sprawdzić, czy HTML sessionStorage nie jest pusty?
- 27. Jak porównać znak, aby sprawdzić, czy jest on pusty?
- 28. Jak mogę sprawdzić, czy scenarzysta jest zamknięty?
- 29. Jak sprawdzić, czy stos <T> jest pusty
- 30. Sprawdź, czy NSMutableDictionary jest pusty?
nie "if (0
MilkyWayJoe
naaa, query.length == undefined. długość jest standardowa w obiekcie Array, a nie w Object JSON. – thisissami