case useDefaultKeys
Discussion 議論
Snake-case and camel-case are two common approaches for combining words when naming parts of an API. The Swift API Design Guidelines recommend using camel-case names. Some JSON APIs adopt snake-case; use this strategy when you encounter such an API. スネークケースとキャメルケースは、APIの部品に名前を付ける場合に単語を結合するための2つの一般的な取り組み方です。Swift API Design Guidelinesは、キャメルケース名を使うことを推奨します。いくつかのJSON APIはスネークケースを採用します;あなたがそのようなAPIに出くわす場合はこの戦略を使ってください。
This strategy uses uppercase
and lowercase
to determine the boundaries between words, and the system
locale when capitalizing letters.
この戦略は、単語間の境界を決めるのにuppercase
とlowercase
を、そして大文字化の時にsystem
ロケールを使います。
This strategy follows these steps to convert JSON keys to camel-case: この戦略は、これらの段階に従ってJSONキーをキャメルケースに変換します:
Capitalize each word that follows an underscore. アンダースコアに続く各単語を頭文字化します。
Remove all underscores that aren’t at the very start or end of the string. 文字列のほんとうの始まりまたは終わりのアンダースコア全てを除去します。
Combine the words into a single string. 単語を単一の文字列へと結合します。
The following examples show the result of applying this strategy: 以下の例は、この戦略を適用する結果を示します:
fee
_fi _fo _fum Converts to:
fee
次に変換:Fi Fo Fum fee
Fi Fo Fum fee
Fi Fo Fum Converts to:
fee
次に変換:Fi Fo Fum fee
Fi Fo Fum base
_uri Converts to:
base
次に変換:Uri base
Uri
Note 注意
The JSONDecoder
strategy can’t infer capitalization for acronyms or initialisms such as WYSIWYG or URI. The example above shows how the automatic conversion differs from the conversion you might expect: base
. To decode such a key with the correct capitalization, define a custom Coding
enumeration, as described in Encoding and Decoding Custom Types.
JSONDecoder
戦略は、例えばWYSIWYGまたはURIのような頭文字略称や頭文字語に対する大文字化を推論できません。上の例は、どのように自動的な変換があなたが期待するであろう変換:base
と異なるかを示します。そのようなキーを正しい大文字かでデコードするには、あつらえのCoding
列挙を定義してください、あつらえの型のエンコーディングとデコーディングで記述されるように。
The example below shows how properties on the Olympic
structure convert from snake-case when decoded as keys in a JSON object.
下の例は、どのようにOlympic
構造体上のプロパティが、JSONオブジェクトの中のキーとしてデコードされる時に、スネークケースから切り換わるかを示します。