Widzę wiele pytań dotyczących dostępu do klawiszy JSON, które używają łączników (kebab-case), ale teraz zastanawiam się, czy powinienem po prostu trzymać się camelCase lub snake_case w moich kluczach. Wiem, że łączniki mogą również tworzyć skomplikowane odwzorowania, gdy są przenoszone między językami. Widziałem, jak niektóre biblioteki JSON przekształcają te klucze w styl camelCase.
Przykład:
var something = {
"some-value": 'thing'
}
Vs
var something = {
"someValue": 'thing',
"some_other_value": 'thing_two'
}
javascript
api
api-design
json
web-api
Matt Oaxaca
źródło
źródło
Odpowiedzi:
Możesz używać czegokolwiek jako kluczy JSON, pod warunkiem, że jest to poprawny kod UTF-8, nie zawiera zerowych punktów kodowych i byłoby przydatne, gdybyś mógł reprezentować klucz jako ciąg znaków w wybranym języku programowania. Mogę zalecić, aby nie używać różnych reprezentacji Unicode tego samego łańcucha (na przykład „Ę” zapisanych jako jeden lub dwa punkty kodowe).
Czytanie komentarzy: Wygląda na to, że niektórzy ludzie próbują tworzyć klasy ze zmiennymi instancji, które pasują do kluczy w słownikach JSON. Które oczywiście nie działa, jeśli twój klucz ma „pewną wartość”, chyba że piszesz COBOL. Myślę, że to jest błędne. Mam klasy modeli, które są zaprojektowane tak, jak chcę. JSON służy tylko do wypełnienia klas modeli. Wezmę wszystko, co faceci serwera postanowili wykorzystać do kluczy i umieszczę je w moich obiektach modelu.
źródło
Istnieje wiele systemów serializacji JSON, które są w stanie obsłużyć mapowanie między nazwami pól, które nie są odpowiednie do użycia w języku, z którym się integrują. W większości przypadków nie są trudne w użyciu i wymagają tylko odrobiny dodatkowego wysiłku. W idealnym świecie nie musiałbyś tego robić, ale jeśli twój interfejs API już korzysta z myślników, jego zmiana byłaby skuteczniejsza niż choroba. Zauważ też, że używanie myślników jest najbardziej popularnym stylem w niektórych językach, zwłaszcza tych opartych na LISP, więc prawdopodobnie jest cicha mniejszość konsumentów twojego API, którzy chętnie widzą myślniki niż inny format.
źródło
Po spędzeniu czasu w branży i pracy w kilku systemach. Nie sądzę, że istnieje najlepsza praktyka lub odpowiednia obudowa dla kluczy JSON. Najważniejszym aspektem każdego formatowania (obudowa / styl kodu / itp.) Jest spójność i przyjęcie zespołu.
Jeśli podstawa kodu jest rozdrobniona i niespójna, spotkaj się jako zespół i uzgodnij spójny styl, a następnie wspólnie zgrupuj formowanie.
źródło